iOS学习

Swift 数组和OC数组 不同

2016-12-01  本文已影响29人  柠檬草YF

先来看一段Swift 代码

      var abc = [String]()   // var abc = Array<String>()
        abc.append("222")
        abc.append("222")
        abc.append("222")
    
        var def = abc
        def.removeAll()
        
        print(abc)

输出

["222", "222", "222"]

对OC熟悉的朋友应该知道,如果在OC里,使用数组实现类似的逻辑,输出应该 是 [],是一个 空数组,在Swift则不同

Array 在Swift 中是一个结构体,在Swift中结构体是值类型,他们的值是复制的而不是引用的。
下面的一行代码意思是复制了abc的值并把它赋值给def

 var def = abc

所以 用惯了 OC数组等依赖引用关系的同学们,在使用Swift数组等其他变量时,要小心噢。我就被坑了呢,不说了,我去哭一会

上一篇 下一篇

猜你喜欢

热点阅读