iOS小记-- Unexpectedly found nil while implicitly unwrapping an Optional value

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,那就只能怀疑下数组了,检查下,果不其然。

iOS小记-- Unexpectedly found nil while implicitly unwrapping an Optional value_第1张图片
屏幕快照 2019-06-20 10.49.18.png

解决办法

在init方法里加上dataSource = [NSValue]() 。作用类似在OC里经常写的
[[NSMutableArray alloc]initWithCapacity:0] ,称之为可变数组的初始化
这个在OC里面是不会闪退的,只是会达不到预期效果,但是swift对nil没有那么友好,不过它带来好处是不用回头花好多时间去找某些诡异的bug[塞翁失马]。

你可能感兴趣的:(iOS小记-- Unexpectedly found nil while implicitly unwrapping an Optional value)