我是iPhone和objective-c的新手,我还在努力理解对象的所有权,所以请耐心等待。
我有一个DOBViewController,上面有一个datepicker。我创建了一个自定义的init方法:
-(id)initWithInitialDate(NSDate *)initialDate;另一个视图控制器声明了一个date实例(NSDate *道布),该实例保存一个值。我想将它传递给DOBViewController,这样它就可以将datepicker滚动到所传递的值。
下面是自定义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;}
这就是我发送道布NSDate对象的方式:
DOBViewController *dobViewController = [[DOBViewController alloc] initWithInitialDate:dob];其中,道布是在头文件中声明的NSDate类型的变量。
这似乎不起作用,因为initialDate总是为空。我做错了什么?
发布于 2010-03-28 00:24:42
当init...方法返回时,您的datePicker outlet还没有加载。您应该将NSDate保存到一个实例变量中,然后使用更合适的方法(如viewDidLoad )进行设置。
https://stackoverflow.com/questions/2529892
复制相似问题