我有一个视图控制器AViewController
,其中包含一个名为item
的属性。在prepareForSegue
方法中,item
使用[[SomeObject alloc] init]
创建新对象。我发现item
在调用nil
时创建新对象之前始终为prepareForSegue
。
问题是,我从未发布item
,它什么时候变成nil
???
以下是代码:
@interface AViewController : UIViewController
@property SomeObject * item;
@end
@implementation AViewController
- (void) prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
if(self.item == nil) {
NSLog(@"item is nil.");
}
self.item = [[SomeObject alloc] init];
}
@end
即使多次调用item
, nil
始终为prepareForSegue
。
答案 0 :(得分:0)
我假设你正在从AViewController到SomeDestinationController执行一个segue?如果是这样,当你的segue完成并且SomeDestinationController可见时你的" item"您在AViewController上创建的对象已经发布。