Это пример прямо из документации компании Apple -Когда следует использовать метод класса вместо метода Instance Instance?
@implementation MyClass
- (id)initWithString:(NSString *)aName
{
self = [super init];
if (self) {
name = [aName copy];
}
return self;
}
+ (MyClass *)createMyClassWithString: (NSString *)aName
{
return [[[self alloc] initWithString:aName] autorelease];
}
@end
Как я бы создание нового MyClass
объекта в каждом конкретном случае в любом случае, я хочу знать, почему я мог бы использовать метода классаcreateMyClassWithString:aName
вместо Метод экземпляраinitWithString:aName
Благодаря
Чтобы соответствовать соглашениям об именах, опустите префикс «создать» из вашего имени метода класса. Create используется при работе с объектами Core Foundation 'CFClassCreate', который аналогичен' [[NSObject alloc] init] '. Использование create подразумевает, что вы несете ответственность за управление памятью. – falconcreek
Спасибо, приятель, кажется странным, что Apple решила назвать его в своих документах. – johnrees