为了账号安全,请及时绑定邮箱和手机立即绑定

理解Cocoa和目标C的参考计数

理解Cocoa和目标C的参考计数

皈依舞 2019-07-15 09:35:53
理解Cocoa和目标C的参考计数我刚刚开始研究Object-C和Cocoa,以便使用iPhoneSDK。我对C很满意malloc和free概念,但可可的参考计数方案使我相当困惑。我听说一旦你明白了它是非常优雅的,但我只是还没有渡过难关。如何release, retain和autorelease工作和使用它们的惯例是什么?(或者没有做到,你读到了什么帮助你得到它的书?)
查看完整描述

3 回答

?
繁花不似锦

TA贡献1851条经验 获得超4个赞

如果您了解保留/发布的过程,那么对于已经建立的Cocoa程序员来说,有两个“duh”规则是显而易见的,但不幸的是,对于新来的程序员来说很少清楚地说明这一点。

  1. 如果返回对象的函数具有alloccreatecopy以它的名义,那么这个物体就是你的了。你必须打电话[object release]当你完成它的时候。或CFRelease(object),如果它是一个核心-基础对象。

  2. 如果它的名字中没有这些单词之一,那么该对象属于其他人。你必须打电话[object retain]如果您希望在函数结束后保留该对象。

在您自己创建的函数中,您也将很好地遵循这一约定。

(吹毛求疵者:是的,不幸的是,有一些API调用是这些规则的例外,但它们很少)。


查看完整回答
反对 回复 2019-07-15
  • 3 回答
  • 0 关注
  • 413 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信