Swift vs OC 区别点

2019-11-06  本文已影响0人  无东东

1. In Swift, Array, String, and Dictionary are all value types

Value and Reference Types参考
Swift中数组、字典、字符串都为值传递浅拷贝,与OC的NSArray, NSDictionary, NSString不同,不能设置为引用,可方便多线程传递。
注意当Swift中数组自定义set方法时,当用self.array更改内部数据也会触发set方法,相当于更改值,与OC中不同。

//自定义set方法
private var _list : [Any] = [] 
var list : [Any]{
  get{
    return _list
  }
  set{
    _list = newValue
    //...
  }
}
func f(){
    _list.remove(at: 0) //不会触发自定义set方法
    self.list.remove(at: 0) //会触发自定义set方法
}
上一篇 下一篇

猜你喜欢

热点阅读