我从使用JSON格式化的Web中提取数据,当我使用“ValueForKeyPath”解析数据时,它将字符串值存储为id对象。
所以我将数据存储到NSMutableArray
在调试器窗口中,它显示添加为(id)null的所有元素。
我有一个if语句
if ([[self.activeCategories objectAtIndex:selected] boolValue] == true)
有时我会说20%的时间它不会失败if语句
我想知道是不是因为self.activeCategories
正在存储id
类型。我是否需要对数组中的所有对象执行[NSString stringWithFormat@"%@", x]
?看起来当我只是通过使用(NSString *)直接转换它时,它仍然是调试器中的id
类型。
这对我来说是一个非常奇怪的错误......因为错误不能始终如一地重现。
答案 0 :(得分:1)
尝试这样:
if ([[self.activeCategories objectAtIndex:selected] boolValue])
根据article,BOOL可能包含0和1以外的值,这可能会使比较失败。