【问题标题】:Xcode - Setting a custom date for UIDatePicker from an NSDate propertyXcode - 从 NSDate 属性为 UIDatePicker 设置自定义日期
【发布时间】:2015-04-23 13:03:03
【问题描述】:

我有一个 UIDatePicker,它将所选日期存储在属性 (_selectedDate) 中。当视图加载而不是其默认日期(今天)时,如何在 DatePicker 上显示属性的日期?

我在这里阅读了一个答案,建议下面的代码是如何做到的,但是当我尝试它时我的应用程序崩溃了。

.h

@property (nonatomic, strong)IBOutlet UIDatePicker *datePicker;
@property (nonatomic, strong)NSDate *selectedDate;

.m

- (void)viewDidLoad {
    [datePicker setDate:_selectedDate];
}

【问题讨论】:

  • 如果您要立即覆盖它,为什么还要检查_selectedDate 是否为零?
  • 我想我在这里问错了问题。让我修改一下。
  • 如果_selectedDatedatePicker 都有有效值,这应该已经可以工作了。你确定你已经连接了IB中的插座吗?
  • 如果您认为自己问错了问题,最好删除这个?其他人还在看问题,而你基本上是在浪费他们的时间。

标签: ios objective-c xcode nsdate uidatepicker


【解决方案1】:

尝试在datePickerselectedDate 前面添加self.。 如果您也将 self.selectedDate 设置为实际的 NSDate 也可能会有所帮助

【讨论】:

    【解决方案2】:

    在 viewDidLoad 中,您确定您的 selectedDate 设置正确吗?它是非零值吗?什么是崩溃痕迹?

    【讨论】:

    • 我将它包裹在一个 if 语句 if (valueExists == 1) {[datePicker setDate:_selectedDate];} 中,这样它就不会在没有价值时崩溃。现在的问题是我的 UIDatePicker 没有更改为存储在_selectedDate 中的日期。它始终显示今天的日期。
    • 当你改变 selectedDate 时,你需要用新的日期更新选择器
    【解决方案3】:

    尝试在 viewWillAppear: 中设置选择器的日期:而不是 viewDidLoad,并为您的 selectedDate 属性添加自定义设置器。更改时,请更改日期选择器中的日期。

    如果 selectedDate 值不为零,则仅在这两个地方设置日期选择器的日期。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-06-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多