Swift 3.0学习--与2.0的异同

OC和Swift不同点

转眼过完年上班都俩个礼拜了,年前忙成狗,节后来了倒是闲下来了,本着活到死学到死的原则,趁着闲余时间温习一下Swift,顺便学习Swift3.0的一些更新,2017年里,”17”学习;

1.创建视图

1
2
OC: [[UIView alloc] init];
Swift: UIView()

2.创建视图通用

1
2
3
4
5
OC: [[UIView alloc] initWithFrame:CGRect:];
Swift: UIView(Frame:)
OC: [[UIView alloc] initWithXXX:];
Swift: UIView(XXX:)

3.访问当前对象属性,可不适用’self’
建议不要使用,因为在闭包的时候需要是用’self’,可以在编译器提示的时候添加,会对’语境’有更好的体会

1
2
OC: [self.view addSubViews:newView];
Swift: view.addSubViews:(newView)

4.分号(;) 结束语句

1
2
OC: 需要
Swift: 不需要

5.枚举

1
2
OC: UIButtonTypeContactAdd
Swift: .contactAdd

6.监听方法

1
2
3
OC: @selector(方法名) 如果函数带参数,需要使用(:),崩溃,消息转发时不识别
Swift 2.0: " " 如果函数带参数,需要使用(:),崩溃,消息转发时不识别
Swift 3.0: #selector(方法名) 如果函数带参数,不需要使用 (:)

7.调试方法

1
2
3
OC: NSLog -->(__FUNCTION__)
Swift 2.0: print 打印没有时间戳,效率比NSLog-->(#function)
Swift 3.0: #selector 如果函数带参数,不需要使用 (:)

8.注释

1
2
OC: VVducoument
Swift: option + cmd + /

9.颜色添加

1
2
3
OC: self.view.backgroudColor = [UIColor redColor];
Swift 2.0: view.backgroudColor = UIColor.redColor
Swift 3.0: view.backgroudColor = color + 回车,竟然可以选择自己拖过来

10.图片方法

1
2
OC: self.imgView = [UIImage imageName: ];
Swift: imgView = UIImageView(image:图片名+回车)

11.提示方法

1
2
3
4
5
OC: #pragma mark
Swift: MARK:
OC: #warning:
Swift: // TODO: 或者 //FIXME:
这个人很帅<br>他什么都不想说<br>