前言
但凡公司中Mac/iOS的产品年龄很大的的话,基本都是用OC去实现其业务逻辑的。
而现在Swift更受人们的喜爱,从2021年12月的排行榜可以看出来,Swift位列第10,而OC位列第29;而从第三方库的生态来看,日益没落的OC已经明显不如Swift,很多OC的第三方库早已停止了维护……
不管是因为个人想追随技术的脚步,还是因为OC的生态无法满足产品的需要,从而需要在老的产品里引入Swift……本文主要分享在OC/Swift混编情况下,公共接口中的属性及方法参数中数据类型的建议。
废话不多说,先说结论:
结论
- 1.尽量多地使用不可变类型(如:NSString*,NSArray*,NSDictionary*),尽可能不要使用可变类型(NSMutableString*,NSMutableArray*,NSMutableDictionary*)。
- 2.在使用NSArray*、NSDictionary时,尽量使用泛型中的类型限制。(如:NSDictionary<NSString,id> dict)
- 3.对基本数据类型而言,尽可能少的使用指针;(如BOOL )对OC的指针变量而言,尽可能少的使用二级指针。(如NSString*)
如果你好奇想知道为什么的话,在下文中,我会通过一个简单的实例来做解释。