意思是:建立对象需要两个步骤1分配内存 2初始化
1分配内存,要sent alloc
orallocWithZone:
message to the object’s class. 也就是常见的[Class alloc].或是不常见的[Class allocWithZone]
2初始化.要调用init的方法进行初始化,各种各样的要或不要参数的init方法都算.
以上建立对象的方式,返回值要送进 对象自动管理池
IOS面试题示例:写一个NSString类的实现
+ (id)initWithCString:(const char *)nullTerminatedCString encoding:(NSStringEncoding)encoding;
+ (id) stringWithCString: (const char*)nullTerminatedCString
encoding: (NSStringEncoding)encoding
{
NSString *obj;
obj = [self allocWithZone: NSDefaultMallocZone()];
obj = [obj initWithCString: nullTerminatedCString encoding: encoding];
return AUTORELEASE(obj);
}