2014-06-11 18 views
7

Swift kullanarak bir metin denetimi tıklatıldığında bir tarih seçicisi göstermeye çalışıyorum.Apple Swift Datepicker klavye olarak

ben şöyle yapmış:

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

:

var DatePickerView: UIDatePicker = UIDatePicker() 
DatePickerView.datePickerMode = UIDatePickerMode.Date 
txtBirthdate.inputView = DatePickerView 

kullanıcı bir tarih seçici olsun klavye yerine metin kutusu musluklar Şimdi zaman, sorun bu hat ile ve kontrolü şöyle işlemek:

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

Ben ne olup bittiğini bilmiyorum, bana se geçersiz veren tutar lector istisnası, bunu daha önce anladı, Swift'in çok yeni olduğunu biliyorum. Ben senin kodundan kelimesi kelimesine burada kopyalıyorum

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

, aynı zamanda 'sap' yanlış yazılmış gibi görünüyor:

+2

"handelDataPicker" kullanma "handelDataPicker:" –

+0

Bu yeni bir sorun değil. @BryanChen İşaretlendiğinde, iki nokta üst üste işaretini kaldırmanız gerekir (:) yöntem imzasından. Kolon, gerçekte olmadığı zaman, yöntemin bir parametresi olacağını gösterir. –

+0

Yazım hatası için özür dileriz, ancak kullandığım gerçek kodda doğru yazıldığından. – Ksliman

cevap

1

Sen Selector ilklendiricili işlem parametresini sarılmalıdır.

+0

Apple'ın seçici isimler için sade bir dize kullandığını gördüm, bu yüzden sorunun kökü olduğunu düşünmüyorum. –

+0

@BrianTracy Belki de, seçmenlerin sadece dizeleri vardır. Ama bunun dışında, kodda yanlış bir şey göremiyorum. – Erik

+0

Tamamen Katılıyorum +1 –