Effective Objective-C 2.0 第15条:用前缀避免命名空间冲突
2016-08-09 19:49
267 查看
Objective-C中没有命名空间机制,需要避免潜在命名冲突。不然就会出现:
duplicate symbol _OBJC_METACLASS_$EOCTheClass in:
build/something.o
build/something_else.o
duplicate symbol _OBJC_CLASS_$EOCTheClass in:
build/something.o
build/something_else.o
错误。
所有的文件夹上应用的缩写。
解决方式:
1.类名以及应用程序中的所有名称都应加上前缀,新增分类以及分类方法也要加上前缀。
2.全局变量以及纯C函数也会引发文件冲突。
duplicate symbol _OBJC_METACLASS_$EOCTheClass in:
build/something.o
build/something_else.o
duplicate symbol _OBJC_CLASS_$EOCTheClass in:
build/something.o
build/something_else.o
错误。
所有的文件夹上应用的缩写。
解决方式:
1.类名以及应用程序中的所有名称都应加上前缀,新增分类以及分类方法也要加上前缀。
2.全局变量以及纯C函数也会引发文件冲突。
相关文章推荐
- (第3章:接口与API设计)第15条:用前缀避免命名空间冲突
- OC高效率52之用前缀避免命名空间冲突
- XML 命名空间提供避免元素命名冲突的方法
- 如何让js不产生冲突,避免全局变量的泛滥,合理运用命名空间
- 怎样让js不产生冲突,避免全局变量的泛滥,合理运用命名空间
- 如何让js不产生冲突,避免全局变量的泛滥,合理运用命名空间
- 理运用命名空间让js不产生冲突避免全局变量的泛滥
- XML 命名空间提供了一种避免元素命名冲突的方法。
- 理运用命名空间让js不产生冲突避免全局变量的泛滥
- 命名空间与无冲突处理
- 避免使用PHP保留字作为常量、类名和方法名,以及命名空间的命名
- BUG:命名空间名称和类名冲突
- spring中使用mvc和tx命名空间的冲突
- cocos2d-x-3.2 lua命名空间前缀
- C#基础知识C#中的类是利用命名空间组织起来的。命名空间提供了一种从逻辑上组织类的方式,防止命名冲突。 命名空间声明 用namespace 关键字用于声明一个命名空间。此命名空间范围允
- JS中避免命名冲突的三个方法
- Javascript 命名空间解决命名冲突问题
- 第16周-异常处理和命名空间-项目3-max带来的冲突
- 第十六周项目三 max带来的冲突(命名空间)
- OC阅读笔记二:命名规范,避免冲突