一、 命名冲突
1. 与系统类或方法命名冲突: 如果你自己创建的类跟系统类命名一样,就会出现明明定义了一个方法也实现了,但就是编译出错或者报找不到方法的错误。一般情况下我们都建议在自定定义的类名加前缀,即使是像NSString+Category这样的分类也最好改成NSString+SHCategory。 但是有时候也有例外,比如我们之前定义了一个QLPreviewControlller的类,按代码规范已经加了项目的前缀QL了,可是却万万想不到系统也会有这样一个类。。。所以在创建之前最好用command+shift+o 去快速查找一下系统有没有用过这个名字。
2. 与库或者Pod里面的类或方法命令冲突: 这种情况比较容易出现在大型项目中,因为经常会使用一些第三方库,不能保证别人的库里面没有跟你用到同样的方法。 如果是源码可见的,比如Pod,可以用快速查找一下有没有重名的类和方法。如果不是,就只能让库的提供方去移除,或者在项目的setting里面把--all_load改为--force_load。
网友评论