Как получить массив NSmutable из NSMutableDictionary? - PullRequest
0 голосов
/ 09 февраля 2010

Я использую ниже синтаксис для для установки объекта.

[dict setObject:eventArray forKey:categoryName];

Сейчас я пытаюсь получить синтаксис ниже, но у меня ничего нет.

NSMutableArray *tempArrayValue=[[NSMutableArray alloc]init];
tempArrayValue =[tempDict valueForKey:categoryValue];

В чем проблема, которую я не могу понять, ты можешь мне помочь?

Ответы [ 2 ]

0 голосов
/ 11 февраля 2010

Если вы устанавливаете значение следующим образом:

[dict setObject:eventArray forKey:categoryName];

Тогда вы должны вернуть его снова, как это:

NSMutableArray* eventArray = [dict valueForKey:categoryName];

при условии, что eventArray имеет тип NSMutableArray.

То, что вы делаете, имеет как минимум две разные проблемы.

Эта строка является утечкой памяти, поскольку вы выделяете объект, а затем выбрасываете его, поэтому удалите его:

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

Эта вторая строка может возвращать нулевой объект, если для ключа categoryValue нет сохраненного объекта. (Вы используете объект под названием categoryName выше, в качестве ключа для хранения значения):

tempArrayValue =[tempDict valueForKey:categoryValue];

Вы недостаточно опубликовали код, чтобы понять, почему он не работает.

0 голосов
/ 09 февраля 2010

вы указали ключ как categoryName, а не categoryValue, и при получении вы используете categoryValue.

NSMutableArray *tempArrayValue=[[NSMutableArray alloc]init]; tempArrayValue =[tempDict valueForKey:categoryName];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...