为什么有些对象在 Objective-C 中使用前不需要初始化?
例如这是为什么NSDate *today = [NSDate date];
legal?
它们在内部初始化date
方法。这是在 Objective-C 中创建自动释放对象的常见方法。这种形式的分配器称为便利分配器。
要了解更多信息,请阅读 Apple 的 Cocoa 核心能力文档中有关对象创建的“工厂方法”段落:http://developer.apple.com/library/mac/#documentation/General/Conceptual/DevPedia-CocoaCore/ObjectCreation.html http://developer.apple.com/library/mac/#documentation/General/Conceptual/DevPedia-CocoaCore/ObjectCreation.html
要为您自己的类创建方便的分配器,请实现一个类方法,以您的类命名(无前缀)。例如。:
@implementation MYThing
...
+ (id)thing
{
return [[[MYThing alloc] init] autorelease];
}
...
@end
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)