Memory Management(Chapter 3 of iOS Programming: The Big Nerd Ranch Guide)

If you create an object using a method whose name starts with alloc or new or contains copy, then you have taken ownership of it. (That is, assume that the new object has a retain count of 1 and is not in the autorelease pool.) You have a responsibility to release the object when you no longer need it. Here are some of the common methods that convey ownership: alloc (which is always followed by an init method), copy, and mutableCopy.
An object created through any other means – like a convenience method – is not owned by you. (That is, assume it has a retain count of one and is already in the autorelease pool, and thus doomed unless it is retained before the autorelease pool is drained.)
If you don’t own an object and you want to ensure its continued existence, take ownership by sending it the message retain. (This increments the retain count.) When you own an object and no longer need it, send it the message release or autorelease.
(release decrements the retain count immediately. autorelease causes the message release to get sent when the autorelease pool is drained.)
As long as an object has at least one owner, it will continue to exist. (When its retain count goes to zero, it is sent the message dealloc.) 

转载于:https://www.cnblogs.com/zhtf2014/archive/2011/10/31/2230575.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值