不熟悉 iOS Xcode,导致很多莫名的简单错误,经验少,找原因就特费劲。记录下遇到的坑。
error 1:
viewcontroller 的 storybroad控件拖拽添加属性或者动作到代码,发现一直添加不成功。
reason: storybroad 里对应的view controller,没有指定到对应的viewcontroller 代码文件,
也就添加不到对应的代码文件里。有时候 viewcontroller 指定的 viewcontroller类,不小心会被修改掉,又没有错误信息提示的。
reason: storybroad 里对应的viewcontroller,没有指定到对应的view controller 代码文件,
也就添加不到对应的代码文件里。有时候 view controller 指定的 view controller类,不小心会被修改掉,又没有错误信息提示的。
error 2:
performSegue(withIdentifier: "xxxxx", sender: self)
设定是对的,segue.identifier 也能找到,在传递参数时候,一直出错,界面上看,跳转上成功的,但就是数据传不过来。
debug 跟踪发现 destination 为nil,这就不对了,明明界面已经跳转成功了。
揪原因还是因为viewcontroller的 storybroad 文件中 指定具体类文件出错了。找不到对应的类文件。参数传递不过去。
error 3 :
*** Terminating app due to uncaught exception 'NSUnknownKeyException', reason: '[<xxx.XxViewController 0x121d1b600> setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key txtPowerStatus.'
*** First throw call stack:
reason:
在添加outlet 时候由于命名重复导致自动拖拽添加失败,但是Xcode 确实又默认添加了此属性,在storybroad 中看没有属性,但编译运行就是报错。
查看 connections inspector 里,属性等的详细情况,去除错误。或者全部删除,再重新添加,快刀斩乱麻。
总结:xcode这种自动关联的管理还是需要多加小心使用。