swift调用OC里面有返回值的方法
,其OC方法返回值就是隐式可选值。
假设OC里Person类有一个属性name是NSString类型的. 这里的name在OC里面可能是nil
NSString *string = [Person alloc]init].name;
/// 在swift中去调用时 我们这样写,编译器不会报错 但是当saySomething为nil的时候就会崩溃
Person().name.count ❌
/// 我们需要自己在name属性后主动添加?防止因为隐式可选值引起的崩溃。
Person().name?.count ✅
前一段时间在上线项目中有一个崩溃。
就是因为调用OC方法返回了一个nil,而代码层面返回值是一个没有说明是必选还是可选(看起来是必选 你写?也没有问题。)
没太注意,我就当成了必选。
结果上线后发现OC方法可能会返回nil。
项目一阵崩溃。
扎心了。。 希望各位同学看到后能踩在我的尸体上前行😂。。