【问题标题】:What does this mean in Objective-C这在 Objective-C 中意味着什么
【发布时间】:2012-05-29 05:39:35
【问题描述】:

我有一个名为 ManageAddressBook.m 的文件 该文件里面有两个@implementation

第二个是什么意思?

@implementation ManageAddressBook

@end

@implementation NSString (Additions)

@end

【问题讨论】:

标签: ios objective-c implementation objective-c-category


【解决方案1】:

第一个实现只是一个新类。第二种实现基本上是对现有类的扩展方法,称为类别。请参阅文章:Categories and Extensions 了解更多信息。

如链接顶部的总结:

类别允许您将方法添加到现有类——甚至是您没有源代码的类。类别是一个强大的功能,它允许您扩展现有类的功能而无需子类化。使用类别,您还可以在多个文件中分发您自己的类的实现。类扩展类似,但允许在主类 @interface 块之外的位置为类声明额外的必需 API。

【讨论】:

    【解决方案2】:

    第二个在NSString 上实现了一个Objective-C Category,即在NSString 上运行的方法,但NSString 类的作者没有提供。

    添加类别可以让您以某种类似于 C# 的扩展方法的方式扩展类的功能:对象开始响应类别中定义的消息,从而方便您以灵活和模块化的方式编写功能。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-06-28
      • 1970-01-01
      • 2019-08-07
      • 2010-10-21
      相关资源
      最近更新 更多