2010-10-26 21 views
0

Je veux avoir un enum comme paramètre de ma fonction. Cela fonctionnerait-il?Est-il possible d'utiliser une énumération comme UITableViewCellStyle comme paramètre d'une méthode?

(UIFont*) myMethodName:(UITableViewCellStyle) cellStyle { 
    //... 
    if (cellStyle == UITableViewCellStyleValue2) 
     // ... 
} 

alors j'appeler la méthode comme cette façon

UIFont *resultFont = [self myMethodName:UITableViewCellStyleSubtitle]; 

ne devraient être autorisés les paramètres suivants: UITableViewCellStyleDefault, UITableViewCellStyleValue1, UITableViewCellStyleValue2, UITableViewCellStyleSubtitle

Est-il possible?

Répondre

3
  • Est-ce que ce travail? → Oui

  • Seuls les paramètres suivants devraient être autorisés: → Non, il est impossible de limiter l'entrée à seulement ces valeurs, à savoir

    UIFont *resultFont = [self myMethodName:12345]; 
    

    va encore compiler (en supposant que vous n'utilisez pas Objective-C++).

2

Bien sûr:

typedef enum _MyType { 
    type_a = -1, 
    type_b = 0, 
    type_c = 1, 
} MyType; 

... 

- (void) someMethod:(MyType)type { 
    if (type == type_a) ... 
} 
0

Oui, il est possible.

(Cela se sent comme une réponse inutilement court mais je ne peux pas penser à quelque chose d'autre à ajouter!)

+0

C'est tout ce que je voulais savoir;) – testing