swift学习笔记
来源:互联网 发布:淘宝服务中心首页 编辑:程序博客网 时间:2024/06/17 06:51
swift 学习笔记
1.不同类型的数相加
1.整数和double数相加
let three = 3 let point = 0.14159 let pi = Double( three) + point
如果不写double则xcode会报错;
2.nil不能用于非可选的常量和变量
var serverRespondCode:Int? = 404 serverRespondCode = nil
去掉?会报错
3.如果你声明一个可选常量或者变量但是没有赋值,它们会自动被设置为nil:
var surveyAnswer: String?// surveyAnswer 被自动设置为 nil
区别:
注意:
Swift 的nil和 Objective-C 中的nil并不一样。在 Objective-C 中,nil是一个指向不存在对象的指针。在 Swift 中,nil不是指针——它是一个确定的值,用来表示值缺失。任何类型的可选状态都可以被设置为nil,不只是对象类型。
4. 使用!来获取一个不存在的可选值会导致运行时错误。使用!来强制解析值之前,一定要确定可选包含一个非nil的值。
5.赋值符(=)不返回值
6.加法运算符也可用于String的拼接:
"hello, " + "world" // 等于 "hello, world"
7.在对负数b求余时,b的符号会被忽略。这意味着 a % b 和 a % -b的结果是相同的。
8.字典元素的遍历顺序和插入顺序可能不同,字典的内容在内部是无序的,所以遍历元素时不能保证顺序。
9.在swift中,最后的else语句是可选的
10. 虽然在Swift中break不是必须的,但你依然可以在 case 分支中的代码执行完毕前使用break跳出
11. Swift 中,switch语句不会同时匹配”a”和”A”。相反的,上面的代码会引起编译期错误:case “a”: does not contain any executable statements——这就避免了意外地从一个 case 分支贯穿到另外一个,使得代码更安全、也更直观。()
let anotherCharacter: Character = "a"switch anotherCharacter {case "a":case "A": print("The letter A")default: print("Not the letter A")}// this will report a compile-time error
12.浅复制和深复制
let hd = Resolution(width: 1920, height: 1080)var cinema = hd
在以上示例中,声明了一个名为hd的常量,其值为一个初始化为全高清视频分辨率(1920 像素宽,1080 像素高)的Resolution实例。
然后示例中又声明了一个名为cinema的变量,并将hd赋值给它。因为Resolution是一个结构体,所以cinema的值其实是hd的一个拷贝副本,而不是hd本身。尽管hd和cinema有着相同的宽(width)和高(height),但是在幕后它们是两个完全不同的实例。
13.关于重写
意外的重写行为可能会导致不可预知的错误,任何缺少override关键字的重写都会在编译时被诊断为错误。
14.值永远不会被隐式转换为其他类型。如果你需要把一个值转换成其他类型,请显式转换,否则会报错。
let label = "The width is" let width = 94 let widthLabel = label + String(width)
15.函数的参数数量是可变的,用一个数组来获取它们:
func sumOf(numbers: Int...) -> Int { var sum = 0 for number in numbers { sum += number } return sum } sumOf() sumOf(42, 597, 12)
16.使用toRaw和fromRaw函数来在原始值和枚举值之间进行转换
17.For swift 2.2 action should be #selector(Class.MethodName) … for e.g.
btnName.addTarget(self, action: #selector(Class.action), forControlEvents: .TouchUpInside)
18.
0 0
- Swift学习笔记--关于Swift
- Swift学习笔记--Swift入门
- OpenStack Swift学习笔记
- Swift学习笔记-1
- Swift学习笔记
- Swift学习笔记
- SWIFT学习笔记01
- SWIFT学习笔记02
- SWIFT学习笔记03
- SWIFT学习笔记04
- SWIFT学习笔记05
- swift学习笔记
- swift学习笔记
- swift学习笔记2
- swift语言学习笔记
- Swift学习笔记
- Swift学习笔记-UI
- Swift学习笔记一
- 红楼梦命名的艺术
- docker 使用
- Pixhawk之姿态解算篇(6)_Gradient Descent
- 安卓开发基础知识4(三星 、ARM 为大朋背书,详解VR一体机解决方案)
- Java NIO介绍
- swift学习笔记
- Docker构建并测试Web应用程序
- iOS开发笔记--使用blend改变图片颜色
- CodeForces 686BLittle Robber Girl's Zoo
- java并发编程知识要点总结
- 第16周 啊哈算法 炸弹人(两种算法注意对比)
- Mysql数据库语句大全
- Apache OpenSSL生成证书使用
- 正则表达式语法查询