Viewcontroller释放我的对象

时间:2014-01-06 07:50:58

标签: ios objective-c

我正在加载一个崩溃的viewController(LandingViewController),因为我的'ConnectionStatus'对象由于某种原因被UIKit解除分配,我正在尝试向它发送消息。

我的代码如下:

@property (nonatomic, strong) ConnectionStatus *cStatus;

- (void)viewDidLoad
{
    [super viewDidLoad];
    ...
    self.cStatus = [[ConnectionStatus alloc] init];
}

当我加载僵尸乐器时,我得到了这个: enter image description here

UIKit是否有理由在我的视图控制器加载之前释放对象?

更新(我如何加载此视图控制器):

-(void)logout {
    UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Storyboard" bundle:nil];
    LandingViewController *lvc = [storyboard instantiateViewControllerWithIdentifier:@"landingVC"];

    [self presentViewController:lvc animated:YES completion:nil];
}

1 个答案:

答案 0 :(得分:0)

viewDidLoad版本是正确的;这是ARC释放您创建的对象并分配给强属性。

问题似乎是在您的ProfileViewController中,或者在发送的任何通知中。对象是您发布通知时的僵尸。您可能会错误地保留某些内容或使用它(或拥有对象)作为通知对象,但我们需要确保该代码。