Swift的Collection集合对象,其默认为强引用,想要使用弱引用,需要使用另外的对象;
-
Array
Array使用 NSPointerArray 对象实现;
let strongArr = NSPointerArray.strongObjects()//强引用
let weakArr = NSPointerArray.weakObjects()//弱引用
-
Dictionary
Dictionary使用 NSMapTable<KeyType, ObjectType> 对象实现,括号中对应的类型为 AnyObject ;
let strongDic = NSMapTable<NSString,NSString>.strongToStrongObjects()//强引用
let weakDic = NSMapTable<NSString,NSString>.strongToWeakObjects()//弱引用
-
Set
Set使用 NSHashTable 对象实现,括号中对应的类型为 AnyObject ;
let weakSet = NSHashTable<AnyObject>.weakObjects()//弱引用