类方法创建对象为什么不用release 方法

使用类方法创建的对象,不需我们release,原因是在类方法中添加了autorelease操作

+(instancetype)personWithName:(NSString *)name{

Person * p = [[self alloc]init];

p.name = name;

//类方法创建对象时,会在返回的对象之后 加autorelease

return [p autorelease];

}

总结:类方创建对象:好处:不用我们去管理内存,坏处:在类方法中创建的对象是autorelease的,我们并不知它什么时候回被释放掉,有可能会造成提前释放,提前释放如果再访问这个对象,就会野指针操作;

你可能感兴趣的:(类方法创建对象为什么不用release 方法)