2016-04-12 17 views
0

Prototip hücreleri ve özel tablo görünümü hücre sınıfı ile bir tablo görünümü var. Prototip hücrelerden birinde bir UITextField var. Geri dönüş tuşuna basıldığında, textFieldShouldReturn işlevini kullanıyorum ve UITextView öğesinin temsilcisini self (inputText.delegate = self) olarak ayarlamaya çalışıyorum diye klavyeyi kapatmaya çalışıyorum. Ne yazık ki, dönüşe basıldığında hiçbir şeyde delege sonucunu ayarlamadan ve inputText.delegate = self hattı ile uygulama fatal error: unexpectedly found nil while unwrapping an Optional value hatasıyla çöküyor.UITextField için delege ayarı hata üretir

İşte özel tablo görünümü hücre dosyam.

import UIKit 

class CustomTableViewCell: UITableViewCell, UITextFieldDelegate { 

@IBOutlet weak var inputLabel: UILabel! 
@IBOutlet weak var inputText: UITextField! 
@IBOutlet weak var labelLabel: UILabel! 
@IBOutlet weak var labelDetail: UILabel! 
@IBOutlet weak var picker: UIPickerView! 
@IBOutlet weak var largeInputText: UITextField! 

override func awakeFromNib() { 
    super.awakeFromNib() 
    // Initialization code 

    inputText.delegate = self 

} 

func textFieldShouldReturn(textField: UITextField) -> Bool { 
    print("return button in CustomTableViewCell") 
    inputText.resignFirstResponder() 
    return true 

} 

override func setSelected(selected: Bool, animated: Bool) { 
    super.setSelected(selected, animated: animated) 

    // Configure the view for the selected state 
} 

} 

Herhangi bir yardım çok takdir edilecektir.

+0

Arabirim oluşturucusunda metin alanınızın düzgün bağlanmadığını gösterir – dan

cevap

0

awakeFromNib() öğesini viewDidLoad() yönteminden çağırmayı deneyin; ve sonra düzenleme için gereken klavye türünü seçebilirsiniz: inputTextFile.keyboardType = UIKeyboardType.ASCIICapable/EmailAddress/etc

0

Bu nedenlerden bir tanesi, bu hatayı almanız olabilir.

  1. Arabirim oluşturucudaki prototip hücrenizin sınıfını belirtmemiş olabilirsiniz. Bkz

    enter image description here

altında
    Doğru IBOutlet özelliğini ayarlayın olmayabilir
  1. . Bunu, prototip hücrenizdeki etikete tıkladıktan sonra gösterilen yan çubuktaki son sekmede kontrol edin.

NOT: Tablo görünümü denetleyiciniz veya görünüm denetleyiciniz için özel sınıfı ayarladığınızdan emin olun.