我无法弄清楚为什么会出现此错误,并希望得到一些指导。
我在viewDidLoad
方法中设置一个变量,并从和NSLog
返回预期结果。_myUser.email
_myUser
现在,当我以任何方法调用该_myUser
变量时,(IBAction)
它总是会使应用程序崩溃。我认为是因为它失去了分配。否则我无法解释为什么如果在其他任何地方执行它会使应用程序崩溃。但话又说回来......我正在做我所知道的一切,以确保该变量在整个应用程序中可用和设置。
我已经搜索了整个应用程序,我设置的唯一位置_myUser
是在 中viewDidLoad
,所以这并不是说我在其他任何地方都取消了它
编辑:如果我从遗嘱的最后调用而[self myOtherMethod]
不是从任何其他方法内部调用。ViewDidLoad
NSLog
edit2当我做同样的事情时,它可以在应用程序的另一部分工作
User
是一个NSManagedObject
对象
Model
是一个NSObject
我有我所有的模型查询的地方。
崩溃很简单(lldb)
@property (strong, nonatomic) User* myUser;
- (void)viewDidLoad
{
[super viewDidLoad];
_model = [[model alloc]init];
_myUser = [User alloc]; // I can do this or not do it and it gives me the same result
_myUser = [_model getCurrentUser];
NSLog(@"First: %@",_myUser.email);
}
- (void) myOtherMethod {
NSLog(@"Second: %@",_myUser.email);
}