Iphone 返回后释放对象?
假设我在方法的返回语句之前初始化了一个对象Iphone 返回后释放对象?,iphone,objective-c,Iphone,Objective C,假设我在方法的返回语句之前初始化了一个对象 MyObj* myObj = [[MyObj alloc] initWithOpt1:opt1 withOpt2:opt2]; return myObj; 在return语句之后可以释放它吗?在违背开始的目的之前这么做,对吗?否则,处理这个问题的最佳方法是什么?就这样做吧 return [myObj autorelease]; 就这样 自动释放正是为了解决这个问题而创建的 MyObj* myObj = [[MyObj alloc] initWith
MyObj* myObj = [[MyObj alloc] initWithOpt1:opt1 withOpt2:opt2];
return myObj;
在return语句之后可以释放它吗?在违背开始的目的之前这么做,对吗?否则,处理这个问题的最佳方法是什么?就这样做吧
return [myObj autorelease];
就这样 自动释放正是为了解决这个问题而创建的
MyObj* myObj = [[MyObj alloc] initWithOpt1:opt1 withOpt2:opt2];
return [myObj autorelease];
当
return [myObj autorelease];
工作它是更好的编码教育,以简单
return myObj;
然后,当您创建对象时,在对象上进行自动释放
MyObj *my_obj = [[[MyObj alloc] initWithOpt1:opt1 withOpt2:op2] autorelease];
这是因为autorelease说,当这个函数结束时,我想释放这个对象。所以使用
return [myObj autorelease];
这不是唯一的办法