好吧,我在两个视图之间传递数据。
在我的第一个视图中,我只是概述了 CD 中的数据。在我的第二视图中,我可以更改这些数据。如果我更改某些内容并保存它,我会返回到我的第一个视图。到目前为止,一切都很好。
但是当我从我的第二个 VC 导航回我的第一个 ViewController 而不保存时,我遇到了一个奇怪的行为。
我在我的第一个 VC 中作为属性获得的对象(一个 NSManagedObject)在我的 viewWillAppear 方法中不是零。但是在我看来WillAppear 方法中,我调用了另一个方法来填充我的VC 中的所有字段。在那个方法中,对象现在为零。
我不明白这种行为,它在 viewWillAppear 中不是 nil,而是在 viewWillAppear 调用的方法中它是 nil。
有人有同样的行为吗?
编辑1:
- (void)viewWillAppear:(BOOL)animated{
[super viewWillAppear:YES];
NSLog(@"VIEW WILL APPEAR!!");
NSLog(@"Eventname: %@", eventObject.name);
NSLog(@"USERID: %@", appUser.userID);
[self initViewData];
[self editViewStyles];
}
输出
2013-05-24 18:11:00.082 1![1089:16d03] VIEW WILL APPEAR!!
2013-05-24 18:11:00.083 1![1089:16d03] Eventname: boo
2013-05-24 18:11:00.083 1![1089:16d03] USERID: 54E1EFBE-7BAD-4441-B564-F0CDB9C85998
初始化视图数据
- (void) initViewData{
NSLog(@"Eventname: %@", eventObject.name);
NSLog(@"USERID: %@", appUser.userID);
}
输出
2013-05-24 18:11:00.084 1![1089:16d03] Eventname: (null)
2013-05-24 18:11:00.084 1![1089:16d03] USERID: (null)