可选值
4.5多灾多难的隐式可选值
定义:无论什么时候使用都会自动强制解包的可选值。(就是看起来像肯定有值, 但你后面写?
也没啥问题,不太理解这句话直接看下面的场景和坑就行。)
出现场景:
调用OC有返回值的方法
,其返回值就是隐式可选值。纯swift是不会有哒~
填坑:
前一段时间在上线项目中有一个崩溃。
就是因为调用OC方法返回了一个nil,而代码层面返回值是一个没有说明是必选还是可选(看起来是必选 你写?也没有问题。)
没太注意,我就当成了必选。
结果上线后发现OC方法可能会返回nil。
项目一阵崩溃。
扎心了。。 希望各位同学看到后能踩在我的尸体上前行。。
隐式可选值行为
我们依然可以对隐式可选值进行可选链
、nil合并
、if let
和 map
等操作。
ps:
今晚解决了一个困扰了我几天的缓存bug(原因是没有设置最大缓存)。有点感叹啊。。
这一节的内容比较少~写完可以多休息一下。
下一章我们要开始比较重要的结构体和类
haha 其实每一章都很重要啦~ 同学们好梦
文章源文件地址