添加到阵列时,保留计数会增加吗?

| 我只是想知道:如果将对象的保留计数添加到Objective-C中的数组或字典中,它会增加吗?将特定对象添加到数组或字典后,是否可以立即释放它?     
已邀请:

bab

哈里普拉萨德 NS [此处为集合名称]保留添加到其中的对象,如NSResponder所述。其他一些事实: 对您的评论“我可以释放它吗? 添加“后,简短的答案是 是。通常我会
autorelease
必然要包含在 集合,并且在集合外部不需要。 当您删除 集合中的对象 参考计数递减。如果 您想确保它不会 从内存中删除(下一个池 扫)您需要保留 宾语。     
是的,它将增加您添加的对象的保留计数,这就是为什么您可以在将对象添加到数组后立即释放该对象。
NSObject obj1;
obj1=[[NSObject alloc] init];
//obj1\'s retain count is 1 here.

[array1 addobject:obj1];
//obj1\'s retain count incremented by 1, so the total retain count is 2.

[obj1 release];
//obj1\'s retain count decremented by 1, so the total retain count is 1.
array1
将保留对象,直到未释放array1本身为止。     
NSArray保留添加到其中的任何对象。     

要回复问题请先登录注册