Objective-C类别非常有用,但这种功能存在一些问题.这些基本上有两种我知道的形式:
反向移植应该是相当安全的,但实现接口或添加便利方法似乎更危险.我知道Cocoa似乎将它用于方便方法,但是基类再次受到控制.我想也许他们只是使用类别来减少依赖 - 所以String类可以有方便的方法在Cocoa中工作,但是如果你不使用Cocoa,它就不会被引入.
那么,类别/保护它们的安全指南有多安全?
通常,在扩展不受您控制的代码(例如Foundation)时,传统的方法名称使用前缀或后缀来避免这些类型的冲突.
@interface NSObject (PRHPerformOnMainThread)
- (id) performOnMainThread_PRH;
@end
Run Code Online (Sandbox Code Playgroud)
这不是最美丽的解决方案,但如果你担心脆弱,这是一个好主意.
| 归档时间: |
|
| 查看次数: |
407 次 |
| 最近记录: |