-
在ios应用程序中保留NSObject
的需求是什么?
-
retainCount==1
,retainCount=2
,.....等有什么区别?
-
属性如何处理保留和释放实例变量?
-
当我保留/释放NSObject
时,保留计数会增加/减少1,内存中会发生什么?
醇>
1 个答案:
答案 0 :(得分:-1)
- 保留对象表示您正在获取该对象的所有权。所以你必须在完成它之后释放它。
- retainCount = 1表示从一个地方强烈引用它。如果retainCount = 2,则从两个地方强烈引用它。
- 属性,取决于它是保留,复制还是分配属性,以不同方式处理内存管理
- 保留计数仅告诉我们对象有多少字符串引用。由于它大于0,因此不会从内存中删除该对象。一旦它变为0,就从内存中删除obj(调用该对象的dealloc)
醇>
修改强>:
- 如果它是保留属性,则每次使用“。”设置保留属性时,将释放旧值,保留新值并将其分配给属性。复制也是如此,只是新值被发送一个副本而不是保留。如果它是assign属性,则新值将直接分配给属性(无释放,不保留)
醇>