Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apple Swift日期选择器作为键盘_Swift - Fatal编程技术网

Apple Swift日期选择器作为键盘

Apple Swift日期选择器作为键盘,swift,Swift,我试图在使用Swift单击文本控件时显示日期选择器 我是这样做的: var DatePickerView: UIDatePicker = UIDatePicker() DatePickerView.datePickerMode = UIDatePickerMode.Date txtBirthdate.inputView = DatePickerView 现在,当用户点击文本框而不是键盘时,我们会得到一个日期选择器,问题在于这一行: DatePickerView.addTarget(self,

我试图在使用Swift单击文本控件时显示日期选择器

我是这样做的:

var DatePickerView: UIDatePicker = UIDatePicker()
DatePickerView.datePickerMode = UIDatePickerMode.Date
txtBirthdate.inputView = DatePickerView
现在,当用户点击文本框而不是键盘时,我们会得到一个日期选择器,问题在于这一行:

DatePickerView.addTarget(self, action: "handelDatePicker", forControlEvents: UIControlEvents.ValueChanged)
我这样处理控件:

func handelDatePicker()
{
    txtBirthdate.text = dateFormatter.stringFromDate(DatePickerView.date)
}

我不知道发生了什么,它一直给我一个无效的选择器异常,是否有人发现了这一点,我知道Swift是非常新的。

您应该用
选择器
初始值设定项包装动作参数:

DatePickerView.addTarget(self, action: Selector("handelDatePicker"), forControlEvents: UIControlEvents.ValueChanged)

我从您的代码中逐字复制它,但“句柄”似乎拼写错误。

使用“handelDataPicker”而不是“handelDataPicker:”这不是新问题。正如@BryanChen指出的,您需要从方法签名中删除冒号(:)。冒号表示该方法将有一个参数,但实际上它没有。很抱歉输入错误,但在我使用的实际代码中,它拼写正确。您能显示您的实际代码吗?@0x7fffffff♦ , 我已经删除了冒号,仍然是同一个问题。我看到苹果只使用了一个简单的字符串作为选择器名称,所以我不认为这是问题的根源。@BrianTracy可能,它的核心选择器只是字符串。但除此之外,我看不出代码有任何错误。我想我也在苹果文档中读到,你可以只使用字符串,我想我会试试看!我唯一能想到的另一件事是Xcode表现得很疯狂,因为它的输入输出,苹果的一些文档是错误的,加上选择器初始化器工作得像个冠军。我希望他们在xcode最终发布之前更新文档。