1-autorelease,当用户的代码在持续运行时,自动释放池是不会被销毁的,这段时间内用户可以安全地使用自动释放的对象。当用户的代码运行告一段落,开始等待用户的操作,自动释放池就会被释放掉(调用dealloc),池中的对象都会收到一个release,有可能会因此被销毁。2-成员属性: readonly:不指定readonly,默认合成getter和setter方法。外界毫不关心的成员,则不要设置任何属性,这样封装能增加代码的独立性和安全性。相当于私有成员? assign:表示只进行简单的赋值,不会发送retain消息。 retain:会向旧值发送release消息,向新值发送retain消息。 copy:向旧值发release消息,向新值发送copy消息。3-引用计数特殊情况: NSArray:当把一个对象添加到NSArray时,对象的引用计数会加1,移除时会减1。 UIView:addGestureRecognizer会对手势识别器的引用计数加1,removeGestureRecognizer会减1
|
|