【问题标题】:Passing an NSDate传递 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。我做错了什么?

【问题讨论】:

    标签: iphone objective-c xcode memory-management nsdate


    【解决方案1】:

    init... 方法返回时,您的 datePicker 出口尚未加载。您应该将NSDate 保存到实例变量中,然后以更合适的方法进行设置,例如viewDidLoad

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-02-13
      • 1970-01-01
      • 2012-10-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多