1.类型
上面我们说了可以省略变量/常量的类型,让编译器去推断。但是我们也可以使用类型注释指定变量与常量的类型,使用方法如下
var 标识符: 类型 = 初始值
let 标识符: 类型 = 初始值
2.didSet 类似于oc中的set、get方法
var editContentId: String? {
didSet{
guardlet newValue =editContentIdelse{return}
print("方法执行了 \(String(describing: newValue)) \n");
}
}
3.guardlet类似于if语句不同的是,guardlet必须会有else语句
4.swift不同于oc的创建对象用的语句
创建一个vc对象
var subVC: WWMemoEditVC = {
let vc = WWMemoEditVC.init()
vc.saveBtn.isHidden=true
returnvc
}()
5.override重载 重载父类函数
6.lazy oc中的懒加载,不同的是swift中的lazy是语句表明为懒加载,oc中需要重写方法
7.swift中调用属性?代表有可能该属性为nil或者该函数会返回nil不确定性
self?.editContentId = "2"
8.不同的是调用方法的时候 直接写方法名即可 不需要self来调用
extension ViewController{
func setUI() {
print("扩展方法");
}
}
@IBActionfuncbuttonClick(_sender:UIButton) {
//调用方法
setUI()
}
网友评论