[NSMutableData data]
не метод доступа, а так называемый метод класса . Вы, наверное, знаете [NSMutableData alloc]
, это тоже метод класса и означает, что он привязан к классу, но не к экземпляру. Типичным способом обозначить, что метод является методом класса, является добавление к нему префикса с плюсом: +[NSMutableData data]
.
В этом случае метод наследуется от класса NSData
(но возвращает экземпляр NSMutableData
, поскольку вы вызываете его для этого класса).
Реализация может выглядеть следующим образом:
@interface NSMutableData
+ (id)data
{
return [[[self alloc] init] autorelease];
}
@end
Обратите внимание, что self
в данном случае является классом NSMutableData
.
В других языках, таких как C ++, C # и Java (AFAIK), это будут методы, которые вы указываете с помощью ключевого слова static
.