iOS开发笔记错误集

错误类型列举this

错误类型A:EXC_BAD_INSTRUCTION (code=EXC_I386_INVOP, subcode=0x0)spa

错误类型B:EXC_BREAKPOINT (code=EXC_ARM_BREAKPOINT, subcode=0xe7ffdefe)3d

错误类型C:signal SIGABRT(this class is not key value coding-compliant for the key XXXX)code

 

发生情形blog

错误使用01开发

误觉得变量溢出后会截断(然而并无,只会报错)同步

举例it

1 var a: UInt8 = 0x80
2 a += UInt8(0x01)
3 a += UInt8(0x80) // error:a == 0x101;UInt8溢出

报错入门

类型A/类型Bclass

推荐作法

1 var a: UInt8 = 0x80
2 var b: Int = Int(a)
3 b += 0x01
4 b += 0x80
5 a = UInt8(b & 0xFF) // 取Int的低8位,可防止溢出

 评价:

与常见的语言特性不一样,极易混淆,大坑级错误。

 

错误使用02

删除或修改了@IBOutlet变量,但没有同步删除或修改@IBOutlet连接关系

举例

从storyboard上“ctrl-拖拽”了一个Outlet:

@IBOutlet weak var imageTest: UIImageView!

而后删除了该行代码

或者将其修改成

@IBOutlet weak var imageTestttt: UIImageView!

报错

类型C

推荐作法

在storyboard上寻中以前的imageView,而后在链接检查窗口中所对应的引用删除。

评价:

习惯用代码开发UI的同窗易犯,头次接触该错误的同窗每每好无头绪,入门级错误。

相关文章
相关标签/搜索