2013-03-13 2 views
2
NSString *string = @"Test"; 

Можно ли переименовать эту строку? Я хотел бы сделать его динамичным с междунар в конце:iOS: Переименовать NSString для петли

for (int i = 0; i <= 19; i++) 
{ 
    // here the name of the string should be dynamic, so that I'll get 20 NSString (titled like string_00 to string_20) 
} 

ответ

3

Там нет способа ввести новые локальные переменные в Objective C. Если вам необходимо несколько объектов данных, доступ к которым с целочисленным индексом, использование массивы или объекты NSArray:

NSString *strings[20]; 
for (int i = 0; i <= 19; i++) { 
    strings[i] = [NSString stringWithFormat:@"Test%d", i]; 
} 

или

NSMutableArray *strings = [NSMutableArray array]; 
for (int i = 0; i <= 19; i++) { 
    [strings addObject:[NSString stringWithFormat:@"Test%d", i]]; 
} 
+0

Добавить их в NSMutableArray. – Cyrille

+0

@ Кир: Да, правильно. Но когда я использую '[array setValue: @" "forKey: @" "];' он, похоже, не работает. – filou

+0

Думаю, ему нужен способ проверить, существует ли строка, добавляя к ней целое число, пока оно не станет уникальное значение до 20 – Anupdas