Jak*_*les 4 methods visibility conventions objective-c
在Objective-C中定义私有和受保护方法的推荐方法是什么?一个网站建议在实现文件中使用私有方法的类别,另一个建议使用尾随下划线,或XX_其中XX是一些项目特定的代码.Apple自己使用什么?
那么受保护的方法呢?我读到的一个解决方案是在单独的文件中使用类别,例如CLASS_protected.h和CLASS_protected.m,但这似乎会变得非常臃肿.我该怎么办?
bbu*_*bum 11
有三个问题:
隐藏编译器.
也就是说,让其他人无法#import并看到你的方法声明.为此,将您的私有API放入单独的头文件中,在Xcode中将该头的角色标记为"Private",然后将其导入您需要访问所述私有API的项目中.
使用类别或类扩展来声明其他方法.
防止碰撞
如果您正在实施大量内部goop,请使用共同的前缀或与Apple提供的(或第三方)提供的方法发生冲突的方法极不可能.这对于类别尤其重要,对于现有类的叶节点子类而言几乎不那么重要.
发布该网站的链接建议引导下划线,因为它们是错误的,错误的,错误的.系统使用前导下划线来标记私有API,您可以轻松地遇到冲突.
隐藏在运行时.
不要打扰.它只会使调试/崩溃分析变得更加困难,而且任何确定足以在运行时捣乱的人都能够破解你的应用程序.
| 归档时间: |
|
| 查看次数: |
3846 次 |
| 最近记录: |