辞职第一响应者和查看结束编辑方法导致应用程序崩溃

时间:2014-10-01 14:07:27

标签: ios swift

我在视图上有几个textFields,第一个文本字段上的返回键使第二个文本字段成为第一个正常工作的响应者。按下第二个文本字段上的返回键应该关闭键盘。在我更新到最新版本的Xcode之前,它工作正常。

现在每次使用以下任一方法时都会出现以下错误:

*由于未捕获的异常'NSInvalidArgumentException'而终止应用程序,原因:'* - [__ NSArrayM insertObject:atIndex:]:object不能为nil' ***第一次抛出调用堆栈: (0x1863be084 0x1969fc0e4 0x1862a7850 0x10013e7bc 0x10012dda4 0x10012e03c 0x18ac6cab0 0x18abe9e84 0x18ac6c6bc 0x18acc8dac 0x10012e338 0x10012e3c4 0x18ad3cc60 0x18ad00acc 0x18ad12684 0x18b2a4858 0x18aec6b00 0x18aec62ec 0x18ad009e4 0x18b2a4858 0x18ac5474c 0x18ad007b0 0x18ad0042c 0x18acffde4 0x18acfea80 0x18acfdaa8 0x18acfca8c 0x18acfc414 0x18ab68a98 0x18728a7f0 0x186376324 0x1863755c8 0x186373678 0x1862a1664 0x18f3db5a4 0x18aba64f8 0x1001430ec 0x10014312c 0x19706aa08) libc ++ abi.dylib:以NSException类型的未捕获异常终止

这是我的代码:

func textFieldShouldReturn(textField : UITextField) -> Bool {
    var nextTag : Int = textField.tag + 1
    if(nextTag == 2) {
        var nextResponder : UIResponder = textField.superview!.viewWithTag(nextTag)!
        nextResponder.becomeFirstResponder()
        return true
    } else {
        if(textField.isFirstResponder()) { self.mainView!.endEditing(true) }
        return true

    }
}

这是一个按钮的操作,它会抛出相同的错误:

@IBAction func dismissKeyboard() {
        self.view.endEditing(true)
    }

我到处寻找,无法弄清问题是什么。任何帮助将不胜感激。

由于

1 个答案:

答案 0 :(得分:0)

每次更新Xcode后,我都会执行以下步骤:

  • 产品 - > (按住Alt键)清理构建文件夹
  • 产品 - >清洁
  • 窗口 - >组织者 - >删除派生数据

然后重建项目