我最近发现了类别,并且想知道何时在用户定义的类/新类中使用它们是合适的.例如,我可以看到将类别添加到现有类(如NSString)的好处,但是在创建新类时,为此添加类别而不仅仅是实现常规方法的优势是什么?
希望这是有道理的.非常感谢
儒勒
对于您自己的类,答案与框架类没有任何不同.如果您有多个项目,您可能最终会在它们之间共享一些类.但是,您可能希望扩展一些类,以便它们可以更轻松地使用特定项目,但不希望在其他项目中包含这些额外的方法,这些方法可能没有意义.您可以使用类别来扩展您的类,而无需子类.
如果我正确理解你的问题,创建一个"新类"总是"子类",因为你至少是NSObject的子类.
您可以在新类上使用类别来分离复杂类的责任部分.例如,所有基本功能(实例变量,访问器,描述等)都可以放在一个文件("主"类文件)中,而支持协议的所有方法(如NSTableViewDataSource)可以放在另一个文件中.
有些人采取这种方法来保持"整洁".我坚信"如果它是我自己的自定义类,它的所有代码应该在一个文件中",所以我个人不这样做.我使用"#pragma mark Some Section Name"来划分类代码的不同逻辑方面,以帮助导航和可读性.你的旅费可能会改变.
| 归档时间: |
|
| 查看次数: |
3673 次 |
| 最近记录: |