现在我在一些代码(我正在进行iPhone开发),我认为我应该使用它们但不完全知道如何.
有人能给我一个如何以及为何使用它们的快速而好的例子吗?
谢谢!
解决方法 我听过的最好的解释是来自Aaron Hillegass:把对象想象成一只狗.你需要一条狗的皮带,以防止它逃跑和消失,对吧?
现在,想一下保留作为牵引带.每当你打电话保留时,你都会在狗的项圈上加一条皮带.你说,“我希望这条狗能够坚持下去.”你对皮带的保持确保狗会一直待在你完成之前.
想想释放是从狗的衣领上取下一条皮带.当所有的皮带被移除后,狗可以逃跑.不能保证狗会在身边.
现在,假设你叫保留并在狗身上系上皮带.我也需要这条狗,所以我和你一起走,开始训练他.当你完成了狗之后,你就打电话给释放并移除你的皮带.尽管我还在训练他,但没有更多的牵引带和狗跑开了!
相反,如果我在开始训练他之前打电话给狗,我会在领子上再戴一条皮带.当你打电话给释放并移除你的皮带时,我仍然有一个,而狗还不能消失.
不同的物体可以通过调用保留并在其衣领上放置另一条皮带来“拥有”狗.每个物体都确保狗在完成之前不会消失.在所有的皮带被移除之前,狗不能消失.
自动释放池变得更加复杂,但是简单地说,您可以将自动释放称为将皮带交给培训师.你不再需要这只狗了,但是你没有立刻取下你的皮带.训练师稍后会脱掉皮带;当你需要它时,仍然无法保证狗会在身边.
总结以上是内存溢出为你收集整理的Objective-C保留计数澄清全部内容,希望文章能够帮你解决Objective-C保留计数澄清所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)