Я получаю initWithObjects: Кол-во:]: попытка вставить ноль объект из объектов [0] в следующей строке:NSString из NSString установить в качестве ключа в NSMutableDictionary
[contentsOfCocktails setObject:[NSMutableArray arrayWithObject: recipeTitleA] forKey:cocktailsTitleA];
recipeTitleA
является строка Я создаю из свойства класса cocktails.recipeID
, равного A. Однако я получаю recipeTitleA
равным nil в окне отладки.
Вот где я поставил cocktails.recipeID
равный recipeTitleA
:
if ([cocktails.recipeID isEqualToString:@"A"]){
recipeTitleA = cocktails.recipeID;
}
Это правильный способ установить строку, равную другую строку для того, чтобы использовать его в качестве ключа в NSMutableDictionary?
Короче говоря: я пытаюсь извлечь идентификаторы recipeID, которые равны A, и установить их как ключ в словаре. Я буду делать это с другими буквами в качестве ключей. Затем я собирался хранить их в массиве, в котором я мог бы создавать разделы в представлении таблицы. Данные вводятся с FMDB.
Я новичок в obj-c и новичок в форматировании данных с массивами и словарями. Любая помощь будет принята с благодарностью!
Если отладчик сообщает вам, что 'recipeTitleA' равен нулю, это означает, что оно равно нулю или вы не можете добавить nil в массив. Поэтому вам нужно выяснить, почему это так, ваш способ настроить ваш «NSMutableDictionnary» хорош. – tbaranes
Является ли 'cocktails.recipeID' нолем? Где вы это установили? –
@Ckouta Я смотрел повсюду, и я считаю, что весь класс коктейлей загружается как ноль. Может быть, потому, что я не получаю данные с FMDB до тех пор, пока не будет в tableviewcontroller? Я выделяю и инициализирую Коктейли выше заданного кода в вопросе. – underriterd