首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NSDatePicker绑定

NSDatePicker绑定
EN

Stack Overflow用户
提问于 2014-04-15 16:29:38
回答 2查看 1.2K关注 0票数 0

为什么绑定到NSDatePicker的属性值并不总是反映控件显示的内容?如果绑定属性得到的值与日期选择器显示的值不同,至少有2种情况:

  1. 初值日期选择器显示它的初始日期(在IB中设置),但是绑定属性返回nil (如果用户不与选择器交互)。
  2. 选择器中的Min值更改日期,但绑定属性仍然返回旧值(用户在设置min值之前设置的值)。

如果对目标/行动不支持这种基本行为,那么使用绑定的原因是什么?我对可可装订很陌生,所以我可能遗漏了什么。

更新:

附加示例项目,以查看问题。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-04-30 17:55:14

为什么绑定到NSDatePicker的属性值并不总是反映控件显示的内容?

在模式中,NSDatePicker是视图,ViewController是控制器,NSDate属性是模型。

通过控制器将视图绑定到模型。不是相反的。

当通过控制器将视图绑定到模型时,视图将开始反映模型。如果您与视图交互(例如,更改日期),则更改将应用于模型。

初值日期选择器显示它的初始日期(在IB中设置),但是绑定属性返回零(如果用户不与选择器交互)。

NSDatePicker显示任何默认值,因为模型没有提供NSDate对象。NSDatePicker应该而不是在没有用户交互的情况下更改模型。

选择器中的Min值更改日期,但绑定属性仍然返回旧值(用户在设置min值之前设置的值)。

NSDatePicker只是在可接受的值范围内显示一个默认值,因为模型没有提供NSDate对象。

如果对目标/行动不支持这种基本行为,那么使用绑定的原因是什么?

目标/操作只是绑定自动完成的工作的一部分。如果没有绑定,您将在控制器(目标)中创建一个操作方法来处理用户交互(例如,用户更改日期)。在action方法中,您将更改模型对象。此外,在加载视图时,您将将视图与模型中的视图同步。绑定消除了许多这类代码。

票数 4
EN

Stack Overflow用户

发布于 2014-05-19 11:40:11

NSDatePicker无法显示空日期。如果不设置dateValue或将值绑定为零,则控件仍将显示日期值;它类似于12/02/1982。

无法显示空日期,因此指示为零绑定是令人恼火的。

下面的NSDatePicker子类可以显示空日期,并表示这样的零绑定。

https://github.com/ThesaurusSoftware/TFDatePicker

运行TFDatePickerTest目标以查看它如何执行。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23089472

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档