2010-05-03 6 views
0

Ok, donc voici mon code, il fonctionne très bien:Cocoa: Test pour le même objet avec ifs/commutateurs

- (void)textViewDidChange:(UITextView *)textView{ 
if (textView==someObject) { 
    [detailItem setValue:textView.text forKey:@"someObjectAttribute"]; 
} 

Le problème est que j'ai beaucoup d'instances textviews pour tester et je préférerais trouver un autre moyen de consolider le code. Je pensais à quelque chose comme un interrupteur, mais je ne vois pas comment cela pourrait fonctionner. Des idées?

Répondre

1

Une façon serait d'utiliser la balise entière de chaque vue. Dans votre code, vous auriez un ENUM comme:

enum 
{ 
    kThingView, 
    kOtherView, 
    ... 
}; 

tag Chaque vue est correctement définie dans le IB ou lors de la mise en place de la vue programatically. Puis:

- (void) textViewDidChange:(UITextView *)textView 
{ 
    switch (textView.tag) 
    { 
     case kThingView: 
      ... 
    } 
} 
Questions connexes