首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NSarray版本

NSarray版本
EN

Stack Overflow用户
提问于 2010-02-21 20:50:22
回答 4查看 3K关注 0票数 2

如果我在一句话中声明了一个带有allocretainNSArray,那么我是否应该释放NSArray对象两次(即[arrayObject release]两次)?

EN

回答 4

Stack Overflow用户

发布于 2010-02-21 23:36:30

如果您正在创建一个allocretain在同一行的NSArray,那么您可能做错了什么。

对象的保留计数为+1,因此也不需要对其调用retain

直接回答你的问题;是的,你必须release它两次。一次是因为您创建了对象,另一次是因为您retain了它。但我会问为什么你一开始就需要保留一段额外的时间。

票数 7
EN

Stack Overflow用户

发布于 2010-02-23 06:05:10

你不需要保留它。当您分配/init时,您已经保留或取得了一个对象的所有权。重新访问Memory Management Programming Guide for Cocoa

票数 2
EN

Stack Overflow用户

发布于 2010-02-21 21:06:13

不,您必须为每个分配和每个保留释放对象。(而且无论如何都不能分配一个对象超过1次。)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2305905

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档