0

好吧,我在两个视图之间传递数据。

在我的第一个视图中,我只是概述了 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)
4

0 回答 0