在segue之后,属性被设置为null

时间:2012-07-12 07:10:11

标签: iphone objective-c ios segue

在我的prepareForSegue方法中,我这样做:

LoggedInViewController *view = segue.destinationViewController;

NSLog(@"Preparing for view logged in for user %@ with %d zombies with %@",
          self.context.userName, self.context.zombies.count, view.view);

[view initWithContext:self.context];

在我的initWithContext方法中:

- (void)initWithContext:(TestSRConnectionContext *)__context{
    _context = __context;
    NSLog(@"Ok init for user %@ with %d zombies", __context.userName, _context.zombies.count);

}

在日志中一切都很好。

我正在加载的视图是一个UITableViewController但没有加载任何项目。我之前有这个表工作,所以表的逻辑是正常的。

所以 - 我遇到的问题是_context.zombies在视图出现时设置为null;在viewDidAppear方法中,我检查_context.zombies,它是null!

1 个答案:

答案 0 :(得分:1)

我写错了这个问题 - 上下文不是null而是context.zombies是。

我将属性声明中的weak属性更改为strong,现在可以正常工作。