2013-03-20 3 views
0

Все в моем названии, я хочу создать имена динамиков, чтобы выделить некоторые различия UIViews, но случайным образом. Например, я хочу сделать:Создайте имена динамиков для UIViews

Level1 * level1view = [[Level1 alloc] init]; 

Так я пытаюсь сделать некоторые NSString как это:

ClasseMap = [NSString stringWithFormat:@"Level%i", Map]; 
NomMap = [NSString stringWithFormat:@"level%iview", NumeroMap]; 
id nouveau = NSClassFromString(ClasseMap); 
nouveau * ViewTest; 
ViewTest = [self valueForKey:NomMap]; 
ViewTest = [[nouveau alloc] init]; 

Но это дает мне: Использование необъявленной идентификатора 'ViewTest. Как я могу исправить это, пожалуйста? Как я могу получить доступ к некоторым переменным (например, level1view.example = YES;)?

Благодарим за помощь! =)

+1

см. Http://stackoverflow.com/questions/2226611/how-to-instantiate-an-object-of-class-from-string-in-objective-c –

+0

О, спасибо большое! – user2057209

+0

Но как для имени, как в моем примере «leve1view», потому что я положил «NSClassFromString (ClasseMap)» NSClassFromString (NomMap) = [[NSClassFromString (ClasseMap) alloc] init]; " но он не работает :( – user2057209

ответ

0

Почему вы предпочитаете вместо этого массив представлений?

int Map = 0; 
int NumeroMap = 1; 

NSMutableArray *array = [[NSMutableArray alloc] init]; 

//add your views (levels?) to the array 
[array addObject:someUIView]; 
[array addObject:someOtherUIView]; 

//now you can use your indexes to access the views you want 
UIView *yourView = [array objectAtIndex:Map]; 
UIView *anotherView = [array objectAtIndex:NumeroMap]; 

Я думаю, что вы пытаетесь сделать это не путь к вещам.

+0

Я не могу скорее взглянуть, потому что я создаю бесконечную игру, поэтому алгоритм выбирает, какой вид он хочет напечатать, но они еще не объявлены (вопросы печати) – user2057209