Fatal error: Unexpectedly found nil while implicitly unwrapping an Optional value
如上报错,在里搜索下,发现原因是解包的时候与nil不期而遇。我的代码如下,崩溃在注释的地方。
var dataSource : Array!
let value = NSValue.init(cgPoint: point)
dataSource.append(value)。**崩溃处**
po打印一下,发现value并不为nil,那就只能怀疑下数组了,检查下,果不其然。
解决办法
在init方法里加上dataSource = [NSValue]()
。作用类似在OC里经常写的
[[NSMutableArray alloc]initWithCapacity:0]
,称之为可变数组的初始化。
这个在OC里面是不会闪退的,只是会达不到预期效果,但是swift对nil没有那么友好,不过它带来好处是不用回头花好多时间去找某些诡异的bug[塞翁失马]。