динамическое именование полей в массиве nsmutable? - PullRequest
0 голосов
/ 24 июня 2011

Я надеюсь, что смогу объяснить это ясно.У меня есть NSMutableArray * myMut. У меня есть пользовательский ввод в виде NSString * anyoldString. У меня есть пользовательский ввод некоторых числовых значений, хранящихся в переменной someNumber;

Когда пользователи вводят свои строки и значения, я хочу обновитьmyMut и назовите поля anyoldString

следующим образом: myMut.anyoldString=someNumber; в зависимости от ввода пользователя, имя, конечно, будет другим

Я новичок в задаче c.

в Matlab , я бы сделал это:

myMut.(anyoldString)=someNumer. 

Я знаю, что это слишком просто для цели c!но любой быстрый способ сделать это ??

1 Ответ

2 голосов
/ 24 июня 2011

Возможно, вы захотите сделать что-то вроде этого:

NSMutableDictionary *myMutableDictionary; // A mutable **dictionary**, not an array!
NSInteger someNumber; // filled by the number
NSString *key; // filled by anyOldString

[myMutableDictionary setObject:[NSNumber numberWithInteger:someNumber] forKey:key];

NSArray, а друзья не являются ассоциативными;но проиндексированы.То, что вы хотите, это NSDictionary и друзья;Ваше дружественное отображение значения ключа окрестности!

Редактировать: Для забав;получить someNumber обратно, учитывая anyOldString:

NSMutableDictionary *myMutableDictionary; // The same dictionary as above
NSInteger someNumber; // out number
NSString *key; // filled by anyOldString

NSNumber *storedNumber = [myMutableDictionary objectForKey:key];

if (storedNumber) {
  someNumber = [storedNumber integerValue];
} else {
  someNumber = APPLICATION_APPROPRIATE_DEFAULT_VALUE;
}
...