我正在读一本书,我偶然发现了这件事。在我的 ViewController 中,当用户单击更改日期按钮时,调用以下代码:
- (IBAction)changeDate:(id)sender {
DateViewController *vc = [[DateViewController alloc] init];
[vc setItem: item];
[[self navigationController] pushViewController:vc animated:YES];
}
item
是一个指向自定义类对象的指针,它的类型为 ivar NSDate *
;
现在,DateViewController
当用户已经选择了新日期并想要导航到上一个视图时,我有以下代码:
- (void)viewWillDisappear:(BOOL)animated
{
NSLog(@"%@", [datePicker date]);
item.dateCreated = [datePicker date]; // get selected date
}
此代码有效,当用户从上述代码返回时,更改会反映在item
数据结构中,用户可以看到新日期。但是,如果我将上面的代码更改为以下代码,它就不再起作用了,有什么线索吗?
(这不起作用):
- (IBAction)changeDate:(id)sender {
DateViewController *vc = [[DateViewController alloc] init];
vc.userDate = currentItem.dateCreated;
[[self navigationController] pushViewController:vc animated:YES];
}
日期视图控制器:
- (void)viewWillDisappear:(BOOL)animated
{
NSLog(@"%@", [datePicker date]);
self.userDate = [datePicker date];
}