【发布时间】:2015-05-13 19:05:32
【问题描述】:
我得到一个 initWithObjects:count:]: 尝试在以下行从 objects[0] 插入 nil 对象:
[contentsOfCocktails setObject:[NSMutableArray arrayWithObject: recipeTitleA] forKey:cocktailsTitleA];
recipeTitleA 是我从等于 A 的 cocktails.recipeID 类属性创建的字符串。但是,我在调试窗口中得到了一个等于 nil 的recipeTitleA。
这里我设置cocktails.recipeID等于recipeTitleA:
if ([cocktails.recipeID isEqualToString:@"A"]){
recipeTitleA = cocktails.recipeID;
}
这是将字符串设置为等于另一个字符串以便将其用作 NSMutableDictionary 中的键的正确方法吗?
长话短说:我正在尝试提取等于 A 的 recipeID 并将它们设置为字典中的键。我也将使用其他字母作为键来执行此操作。然后我打算将它们存储在一个数组中,我可以在其中创建表格视图中的部分。数据通过 FMDB 引入。
我是 obj-c 的新手,也是使用数组和字典进行数据格式化的新手。任何帮助将不胜感激!
【问题讨论】:
-
如果调试器告诉你
recipeTitleA是 nil,那意味着它是 nil,或者你不能在数组中添加 nil。所以你必须找出为什么它是 nil,你设置NSMutableDictionnary的方式很好。 -
'cocktails.recipeID' 为零吗?你在哪里设置?
-
@Ckouta 我到处看了看,我相信整个鸡尾酒课都加载为零。可能是因为直到在 tableviewcontroller 中进一步下降,我才使用 FMDB 获取数据?我在问题中的给定代码上方分配和初始化鸡尾酒。
标签: ios objective-c nsstring nsdictionary