【发布时间】:2015-06-09 20:06:39
【问题描述】:
我对 swift 很陌生,只是在玩下面的教程来学习核心数据基础知识。
我尝试使用中断来缩小引发异常的范围。我相信这是当我试图通过视图控制器传递数据时。
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
if segue.identifier == "Update" {
// var selectedItem: NSManagedObject = myList[self.tableView.indexp] as NSManagedObject
let IVC: CreateRiderViewController = (segue.destinationViewController as? CreateRiderViewController)!
var indexPath: NSIndexPath = self.tableView.indexPathForSelectedRow()!
var selectedItem: NSManagedObject = myList[indexPath.row] as! NSManagedObject
IVC.firstName = (selectedItem.valueForKey("firstName") as?String)!
IVC.lastName = (selectedItem.valueForKey("lastName") as! String?)!
IVC.phoneNumber = (selectedItem.valueForKey("phoneNumber") as! String?)!
IVC.eMail = (selectedItem.valueForKey("eMail") as! String?)!
IVC.exitingItem = selectedItem
}
}
我试图传递这些数据的视图控制器也看起来像这样。
class CreateRiderViewController: UIViewController {
@IBOutlet weak var firstNameField: UITextField!
@IBOutlet weak var lastNameField: UITextField!
@IBOutlet weak var phoneNumberField: UITextField!
@IBOutlet weak var eMailField: UITextField!
var exitingItem: NSManagedObject!
var firstName: String = ""
var lastName: String = " "
var phoneNumber: String = " "
var eMail: String = " "
override func viewDidLoad() {
super.viewDidLoad()
if (exitingItem != nil) {
firstNameField.text = firstName
lastNameField.text = lastName
phoneNumberField.text = phoneNumber
eMailField.text = eMail
}
// Do any additional setup after loading the view.
}
它应该将文本字段文本设置为从我的第一个视图控制器中选择的行。但是,当我选择一行时,程序似乎在转换视图控制器时崩溃了。
我得到的错误是
2015-06-09 15:53:51.193 ARRR[37189:4601772] -[UITextInputTraits length]: unrecognized selector sent to instance 0x7fc129f60800
2015-06-09 15:53:51.198 ARRR[37189:4601772] *** Terminating app due to uncaught exception 'NSInvalidArgumentException',
reason: '-[UITextInputTraits length]: unrecognized selector sent to instance 0x7fc129f60800'
我相信我在错误的时间打开了一些东西,但无法弄清楚。
我也在努力更好地共享信息以获取故障排除方面的帮助,并希望获得有关如何更清楚地解释我的问题并知道我是否包含正确的代码/错误消息以找到问题的反馈问题。
【问题讨论】:
标签: swift segue uncaught-exception