如果我有一种方法可以将动画附加到 UI 元素
,而不是将此方法的代码复制/粘贴到许多 viewcontrollers
,我可以只创建一个 class
来保存方法然后导入它吗?
我认为在这种情况下使用 category
没有意义,因为我需要在多个 viewcontrollers
和 category
中使用此方法> 是单个 viewcontroller
的扩展。
最佳答案
类别是类的扩展,而不是类的特定实例。并且,类别对类所做的任何修改都可用于所有子类(与 OOP 中类的其他方法一样)。
因此,如果您在 NSObject
上添加一个类别,基本上整个应用中的所有类都可以访问该类别中的方法 - 因此您需要非常小心在其中添加的方法。
在很多情况下,是添加类别还是帮助类是个人偏好,两者都可以。
关于ios - 何时使用 Categories Objective-C?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23085431/