IOS strong和weak的区别

 

strong和weak的区别
strong表示保留它指向的堆上的内存区域不再指向这块区域了。
也就是说我强力指向了一个区域,我们不再指向它的条件只有我们指向nil或者我自己也不在内存上,没有人strong指向我了,weak表示如果还没有人指向它了,它就会被清除内存,同时被指向nil,因为我不能读取不存在的东西。
weak只在IOS5.0使用
这并不是垃圾回收,我们用reference count表示堆上还有多少strong指针,当它变为0就马上释放。
 
本地变量都是strong,编辑器帮你计算

你可能感兴趣的:(weak)