2010-10-08 4 views
4

Je veux définir le nom d'un objet comme UIButton à partir d'une chaîne.Nom d'objet de Chaîne dans Objective-C

NSString *buttonName = [[NSString alloc] initWithString:@"someString"];

Mon but est:

UIButton *someString = [[UIButton buttonWithType:UIButtonTypeCustom]retain];

comment puis-je résoudre ce problème?

+0

Cela ne fait pas beaucoup de sens ... votre premier exemple de code est même pas Objective-C valide, et il n'est pas vraiment clair quelle est votre intention. Un UIButton n'est pas une chaîne. Veuillez être plus bavard, expliquez le problème que vous voulez résoudre avec ce "nom de paramètre d'un objet". – DarkDust

Répondre

6

Vous ne pouvez pas - les noms de variables sont résolus par le compilateur bien avant tout code Objective-C est exécuté. Ce que vous pouvez faire est de maintenir une carte de chaînes à des objets comme des boutons, etc en utilisant NSMutableDictionary:

NSString *string = @"someString"; 
[buttonMap setObject: [UIButton buttonWithType:UIButtonTypeCustom] forKey: string]; 

//...time passes... 

[[buttonMap objectForKey: @"someString"] setEnabled: YES]; 
Questions connexes