使用NSObject类的alloc方法可以为对象分配内存,将对象的实例变量初始化为0。但是alloc方法既没有将该对象的实例变量初始化为合适的值,也没有为这个对象准备其他必须的对象和资源。
NSObject提供了init方法可以完成对象初始化的基础任务。
通常使用一行代码就可以分配和初始化实例:[[ClassName alloc]init];
重构
真特么的高大上的名字。官方解释:在不更改外部行为的情况下重新构建现有的代码。麻痹的不就是修改部分功能吗。
工厂方法
工厂方法是指用于创建和初始化类的便捷方法,他们是类方法。
eg:
- (id)initWithName:(NSString *)name;
+ (id)PeopleWithName:(NSString *)name;
@implementation
+ (id)PeopleWithName:(NSString *)name {
return [[[self class] alloc] init];
}
@end
创建工厂方法的名称与初始化方法的名称类似,但是它含有类名前缀。
消息转发
相关方法