2010-08-25 2 views
0

Я вижу, что класс UIColor может вызывать переменную типа [UIColor redColor]; Как я могу написать свой класс, чтобы сделать то же самое? Кроме того, могу ли я иметь метод только для класса, например, например:Вопрос о синтаксисе Objective C

[MyClass callMyMethod];

спасибо.

ответ

2

Да. Просто используйте + вместо - при объявлении метода:

+ (void)callingMyMethod 
{ 
    ... 
} 
0

Вам необходимо создать метод класса. Методы класса определяются как метод экземпляра, но имеют + вместо -:

@interface MyClass : NSObject 
+ (id)classMethod; 
- (id)instanceMethod; 
@end 

@implementation MyClass 

+ (id)classMethod 
{ 
    return self; // The class object 
} 

- (id)instanceMethod 
{ 
    return self; // An instance of the class 
} 

Обратите внимание, что в рамках метода класса, переменная self будет относиться к классу, не является экземпляром класса.

0

Да, это сообщения класса вызова. При определении сообщения используйте + вместо -.

Как это:

@interface MyClass : NSObject 
{ 

} 

+ (void) callingMyMethod; 
0

Используйте + вместо -. Это называется методом класса и используется для инициализации и возврата объекта.

@interface SomeClass : NSObject 
+ (id)callingMyMethod; 
- (id)otherMethod; 
@end 

@implementation SomeClass 

+ (id)callingMyMethod 
{ 
    return self; // The class object 
} 

- (id)otherMethod 
{ 
    return self; // An instance of the class 
}
Смежные вопросы