swift - Swift 中以 NSException 类型的未捕获异常终止

标签 swift segue uncaught-exception

我对 swift 还很陌生,只是通过以下教程来学习核心数据基础知识。

CoreData Tutorial

我尝试使用中断来缩小抛出异常的范围。我相信这是当我尝试通过 View Controller 传递数据时。

    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


    }
}

我尝试传递此数据的 View Controller 也看起来像这样。

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.
}

它应该将文本字段文本设置为从我的第一个 View Controller 中选择的行。然而,当我选择一行时,程序似乎在转换 View Controller 时崩溃。

我收到的错误是

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'

我相信我在错误的时间打开了一些东西,但无法弄清楚。

我还试图更好地分享信息,以获取解决问题的帮助,并且希望得到关于如何更清楚地解释我的问题并知道我是否包含正确的代码/错误消息来查找问题的反馈。问题。

最佳答案

检查您的 UITextField 是否已连接到 ViewController。 按住 ctrl 键单击 Storyboard中的所有 UITextField 并检查损坏的链接(您可能已在代码中创建了一个 socket ,但更改了其名称)。还要检查 ViewController 中的所有导出是否已连接(初始化线左侧出现一个圆圈,如果已填充则已连接,如果是空圆圈则表示链接已损坏)

Screenshot

关于swift - Swift 中以 NSException 类型的未捕获异常终止,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30741839/

相关文章:

swift - 使用委托(delegate)更改带有按钮的 tableViewCell 内 UITextField 的值

ios - 查找特定 UICollectionView 单元格的索引号

ios - 设备旋转通知未按预期运行 iOS Swift

ios - 如何更新 UITableViewCell?

iphone - 找出哪个 View Controller 连接到另一个

objective-c - 获取参数异常(无 URL 参数)!

JavaScript Chrome 问题

ios - 后退按钮后隐藏的导航栏

ios - swift ;导航 Controller 中的多个路径

android - Toast 未出现在 UnCaughtExceptionHandler 中