2010-08-25 8 views
0

Je vois que la classe UIColor peut appeler la variable comme ceci [UIColor redColor]; Comment puis-je écrire ma classe pour faire la même chose? Aussi, je peux avoir une méthode seulement pour la classe, par exemple, comme ceci:Question de syntaxe de l'Objective C

[MyClass callingMyMethod];

Merci.

Répondre

2

Oui. Il suffit d'utiliser un + au lieu d'un - lors de la déclaration de la méthode:

+ (void)callingMyMethod 
{ 
    ... 
} 
0

Vous devez créer une méthode de classe. Les méthodes de classe sont définies comme méthode d'instance, mais un + au lieu d'un -:

@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 
} 

Notez que dans une méthode de classe, la variable self fera référence à la classe, pas une instance de la classe.

0

Oui, ce sont des messages de classe d'appel. Utilisez + au lieu de - lors de la définition d'un message.

Comme ceci:

@interface MyClass : NSObject 
{ 

} 

+ (void) callingMyMethod; 
0

Utilisez un + au lieu du -. C'est ce qu'on appelle une méthode de classe et est utilisé pour initialiser et retourner l'objet.

@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 
}