传递 NSDate
Posted
技术标签:
【中文标题】传递 NSDate【英文标题】:Passing an NSDate 【发布时间】:2010-03-27 15:50:47 【问题描述】:我是 iPhone 和 Objective-c 的新手,我仍在努力了解对象的所有权,所以请耐心等待。
我有一个 DOBViewController,上面有一个日期选择器。我创建了一个自定义的 init 方法:
-(id)initWithInitialDate(NSDate *)initialDate;
另一个视图控制器有一个声明的日期实例(NSDate *dob),它包含一个值。我想将此传递给 DOBViewController,以便它可以将日期选择器滚动到传递的值。
这里是自定义的init方法:
- (id)initWithInitialDate:(NSDate *)initialDate
// Initialise ourselves
self = [super init];
// Set the date of the date picker
if (initialDate != nil)
datePicker.date = initialDate;
else
// Set it to today
datePicker.date = [NSDate date];
return self;
这就是我发送 dob NSDate 对象的方式:
DOBViewController *dobViewController = [[DOBViewController alloc] initWithInitialDate:dob];
其中 dob 是在头文件中声明的 NSDate 类型的变量。
这似乎不起作用,因为 initialDate 始终为 NULL。我做错了什么?
【问题讨论】:
【参考方案1】:init...
方法返回时,您的 datePicker
出口尚未加载。您应该将NSDate
保存到实例变量中,然后以更合适的方法进行设置,例如viewDidLoad
。
【讨论】:
以上是关于传递 NSDate的主要内容,如果未能解决你的问题,请参考以下文章