ios - 如果类别如此强大,那么什么时候是子类化 iOS 类的合适时机呢?

标签 ios objective-c cocoa associations categories

类别非常强大,可以添加方法,以及 associations可以添加额外的属性和变量,很难看出 Objective C 中子类的重要性。

开源内置了这么多开源类别,我真的看不出子类有什么意义。关联还可以提供调用链(在关联属性实现内部),因此不需要继承。

当我想创建扩展 UILabel 的 MyLabel 或扩展 NSString 的 MyString 时,任何人都可以提供确切的用例吗?

最佳答案

  • 子类可以安全重写父类(super class)中的方法;类别不能。
  • 子类仅为新类的实例自定义行为,而不是为父类(super class)的所有实例自定义行为。
  • 子类以类别集合无法声明的方式声明意图。

关于ios - 如果类别如此强大,那么什么时候是子类化 iOS 类的合适时机呢?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34478930/

相关文章:

objective-c - 如何从 OSX 应用程序内通过电子邮件发送 Cocoa Lumberjack 日志文件

iOS - 无法在按钮上设置文本

ios - UIVIew 大小在界面生成器中使用设备大小并且没有限制

ios - 如何使用不在我的帐户中的配置文件来分发应用程序?

ios - 如何在转换前计算 UIView 的框架?

ios - 在 iOS 中存储多个静态数据的最佳实践

ios - 远程图像下载完成后,Swift 返回 UIImageView

ios - 如何使自定义键盘扩展再次成为第一响应者

ios - Spotlight 项 (CSSearchableItem) 保留多长时间?

objective-c - GHUnit 用于集成测试 iOS 网络功能