博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

2012年6月7日

摘要: Cocoa中的每个对象都拥有一个引用计数器,用来维持自己的生命周期。每当一个对象需要“使用”或“占有”另一个对象的时候,它通过向该对象发送一个 retain消息来对该对象的引用计数器进行自增,而当它不再需要(或使用完)该对象的时候,它通过向该对象发送一个release消息来对该对象的引用 计数器进行自减。当一个对象的引用计数器自减到零时,该对象就会被释放。下面我们来看一个例子,例如:NSString *aString = [[NSString alloc] initWithString:@"This is a demo."];这段代码会创建一个NSString对象,并对其进 阅读全文

posted @ 2012-06-07 21:32 酸梅拯救地球 阅读(272) 评论(0) 推荐(0)

摘要: 为了解决“胶水代码”问题,Cocoa提供了多个内部机制:Key-Value Coding(KVC)、Key-Value Observing(KVO)、Key-Value Binding(KVB)。这些机制通过规定了一组通用的Cocoa命名法则、调用规则等,实现了如下功能:1. 使用一对高度规范化的访问方法,获取以及设置任何对象的任何属性的值(所谓的属性既可以是个实实在在的成员变量,也可以是通过一对成员方法所抽象出的该对象的一个性质)。2. 通过继承一个特定的方法,并且指定希望监视的对象及希望监视的属性名称,就能在该对象的指定属性的值发生改变时,得到一个“通知”(尽管这不是一个真正意义上的通知) 阅读全文

posted @ 2012-06-07 21:28 酸梅拯救地球 阅读(198) 评论(0) 推荐(0)