九、swift3.0可选类型+类型修饰符及其它
来源:互联网 发布:淘宝网建达巧克力 编辑:程序博客网 时间:2024/05/21 02:20
一、可选项
在swift中所有类型默认都不接收nil值,如果需要让某种数据类型能接收nil值,则需要把该类型数据包装成可选类型。
1、?后缀:必须强制解析才可以获取包装的值
2、!后缀:隐式解析即可获取包装的值
二、类型转换
三、swift中的私有化
private:通过它修饰属性和函数,从达到它们只能在当前类或类扩展中使用
fileprivate:即文件内私有,只要在同一个文件里,那么这个文件里的属性和函数都可以被访问
@objc:用于修饰swift中的可选方法,可以让函数运行时以oc的运行时机制被调用,常用于#Selector调用的方法
四、swift中使用URL的%转码
// 注:在swift中“\”本身就是转义字符,需要通过“\”再转义 // ' \' 字符不允许在 Url 中,所以他们必须是 URL 编码 let urlString: String? = "/Volumes/HD\\ 扩展/SourceTreeCode/ZMWebProduct/main.json" let escapedString = urlString?.addingPercentEncoding(withAllowedCharacters: .urlHostAllowed) let fileUrl = NSURL.fileURL(withPath: escapedString!)把数组写入到磁盘中,并以json的格式保存起来let array : [[String : Any]] = [ ["clsName":"ZMHomeViewController", "title":"首页", "imageName":"home", "visitorInfo":["imageName": "", "message":"关注一些人,回这里看看有什么惊喜"] ] // 将界面配置数据输出到json,数组 ————> json序列化 let data = try! JSONSerialization.data(withJSONObject: array, options: [.prettyPrinted]) let urlString: String? = "/Users/czm/Desktop/01-test/deom.json" (data as NSData).write(toFile: urlString!, atomically: true)把数组以plist的形式写入到磁盘中// 把配置信息保存到沙盒 (array as NSArray).write(toFile: "/Volumes/HD\\ 扩展/SourceTreeCode/ZMWebProduct/demo.plist", atomically: true)
五、类型成员的修饰符
1、static和class修饰符
在枚举、结构体中定义的属性、方法使用static属性,即可将它们变成类型属性、类型方法;
enum Season : Character { case Spring = "S" case Summer = "U" case Fall = "F" case Winter = "W" static var desc : String? static let name = "季节" static var info: String { get { return "代表季节的枚举\(desc ?? "")" } set { print("对info计算属性赋值:\(newValue)") } } }
Season.desc = "季节"Season.info = "新的季节"
在类中定义的属性、方法使用static或class修饰 ,可将它们变成类型属性、类型方法
在类中通过class或者static修饰的属性或方法的区别在于:
使用static修饰的类型属性、类型方法,不能被子类重写;而class修饰的可以被子类重写。
注意:在类型存储属性时,只能用static修饰;在类型计算属性class和static都可修饰
lass Person { //类型计算属性用static、class均可修饰 class var name : Int { get { return 3 } set { print("对name计算属性赋值\(newValue)") } } //类型存储属性只能用static修饰 static var nation : String! class func sum(x : Int, y : Int) -> Int { return x + y } static func agave(result: Double) -> Double { return result / 3.0 }}
阅读全文
0 0
- 九、swift3.0可选类型+类型修饰符及其它
- 三十三 Swift3.0之 可选类型
- Swift3.0- 类型转换、Any、AnyObject(可选链)
- Swift3.0 类型检查
- 【Swift4.0】可选类型
- Swift3之细致理解Optional(可选类型)
- 猫猫学swift3.1(二)可选类型_解包_可选链
- Swift3.0 类型转换 示例
- C++ 类型修饰符
- JAVA修饰符类型
- const 类型修饰符
- JAVA修饰符类型
- C++类型修饰符
- C++类型修饰符
- register 类型修饰符
- Java修饰符类型
- c++修饰符类型
- C++ 修饰符类型
- Bootstrap初识
- 关于python中值传递和引用传递的问题
- 习题 4.12 有4个圆塔,圆心分别为(2,2)、(-2,2)、(-2,-2)、(2,-2),圆半径为1,这4个塔的高度为10m,塔以外无建筑物。今输入任一点的坐标,求该点的建筑高度(塔外的高度为零)
- jQuery UI 工作原理
- 携程4月11日编程题 输出最大乘积 java
- 九、swift3.0可选类型+类型修饰符及其它
- Halcon算子函数[2]
- 基础算法题-链表相关
- java.util.Arrays
- 分布式系列文章——Paxos算法原理与推导
- 学习笔记—网页基础知识入门(二)
- 对于Struts2中通配符动态匹配method报错问题
- 链表实现任意精度整数运算
- IOS-CocoaPods的详细安装与使用