@implementation便利方法的好处

时间:2014-06-25 20:47:17

标签: ios objective-c class implementation convenience-methods

我一直在查看Apple提供的示例代码,偶然发现了一些我从未了解过的有趣内容。在.m文件的子类中,有多个部分使用@implementation声明。最后一个是我期望的通常@implementation - 所有代码所在的类实现,但是上面是几个简短的实现,每个实现定义一个方法。它们以这种格式声明:@implementation ClassName (Convenience)。其中定义的方法与其他方法的格式相同,但它们以aapl_为前缀。在每个@implementation定义后,当然@end,。调用这些方法的方法是创建ClassName的实例,然后像使用标准API一样调用该方法:[anInstance aapl_thisInterestingMethod:aParameter];

因此,这似乎是一种在不创建类别的情况下向类添加方法的方法,您可以使用类的实例调用它,并且它仅特定于此文件。您可以使用self来引用调用参数。

我的问题是:

  • 还有更多吗?
  • 为什么(便利性)附加在最后?
  • 添加aapl_前缀只是为了表明这不是标准API的一部分,而是我们自己的方法吗?
  • 为什么这比通常所定义的方法更好,在调用参数中接受作为常规参数?例如:[self anInterestingMethod:myInstance withParameter:aParameter];
  • 这些类型的方法/实现被调用了什么以及我应该知道什么呢?

编辑:这个问题完全没有与这个被标记为重复的问题有关... @interface不是@implementation

0 个答案:

没有答案