我正在加载一个崩溃的viewController(LandingViewController),因为我的'ConnectionStatus'对象由于某种原因被UIKit解除分配,我正在尝试向它发送消息。
我的代码如下:
@property (nonatomic, strong) ConnectionStatus *cStatus;
- (void)viewDidLoad
{
[super viewDidLoad];
...
self.cStatus = [[ConnectionStatus alloc] init];
}
当我加载僵尸乐器时,我得到了这个:
UIKit是否有理由在我的视图控制器加载之前释放对象?
更新(我如何加载此视图控制器):
-(void)logout {
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Storyboard" bundle:nil];
LandingViewController *lvc = [storyboard instantiateViewControllerWithIdentifier:@"landingVC"];
[self presentViewController:lvc animated:YES completion:nil];
}
答案 0 :(得分:0)
viewDidLoad版本是正确的;这是ARC释放您创建的对象并分配给强属性。
问题似乎是在您的ProfileViewController中,或者在发送的任何通知中。对象是您发布通知时的僵尸。您可能会错误地保留某些内容或使用它(或拥有对象)作为通知对象,但我们需要确保该代码。