导航回来后,对象变为零

时间:2013-05-24 16:38:44

标签: objective-c uiviewcontroller uinavigationcontroller

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

在我的第一个视图中,我只是来自CD的概述数据。在我的seconde View中,我可以更改这些数据。如果我改变某些并保存它,我会回到我的第一个视图。到目前为止一切都很好。

但是当我从我的seconde VC导航回我的第一个ViewController而没有保存时​​,我得到了一个奇怪的行为。

我在第一个VC中作为属性的对象(NSManagedObject)在我的viewWillAppear方法中不是nil。但是在我的视图中,我会调用另一种填充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

initViewData

- (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)

0 个答案:

没有答案