首先说下最初建立一个工程,Swift中和OC的几个比较明显的区别。
1、@UIApplicationMain代表程序的入口,而不是main函数。
2、只有.swift文件,没有.h和.m文件。swift中默认是全局共享
3、所有代码都包装在class对应的{ }中,{ }中默认方法都有一个缩进,这让刚刚从OC转swift的人会很不适应。
再看一下Swift语言的几个最显著的特点,并且带有简单的例子。
1、逐渐趋于精简。
2.0语法:UIColor.redColor() 3.0最开始语法:UIColor.red() 3.0之后语法:UIColor.red
2、 访问当前对象的属性对象可以不适用self. ,如view.addSubview(v),当然是用self.也可以,但是一般不建议使用。当然也有一些特殊情况要求使用self.,这在之后会说明,涉及闭包(类似OC中的block)相关知识点。
3、代码语句可以不使用 ;(代码在不同的行)
4、枚举类型通过 . 调用。如:let btn = UIButton(type: .contactAdd)
5、监听方法 :
OC中使用: @selector(btnClick:)
swift2.0使用: ”btnClick:”
swift3.0用: #selector(btnClick) 不需要使用 :
如下:
btn.addTarget(self, action: #selector(btnClick), for: .touchUpInside)
func btnClick(btn: UIButton) -> () {
print("hahaha")
}
tip:#selector不会智能提示
6、调试信息:
OC中用NSLog,swift用print。相比NSLog,print没有时间,效率更高。
打印方法名OC中用FUNCTION,swift中使用print(#function)
tip:#function不会智能提示
7、swift中取消了预编译指令。
以前使用#pragram mark -,swift中使用//MARK:...... 代替。
//TODO: 或 //FIXME: 可以用来代替警告