我的财产何时在Segue之后被释放?

时间:2015-07-14 20:25:58

标签: objective-c memory

我有一个视图控制器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

1 个答案:

答案 0 :(得分:0)

我假设你正在从AViewController到SomeDestinationController执行一个segue?如果是这样,当你的segue完成并且SomeDestinationController可见时你的" item"您在AViewController上创建的对象已经发布。