NSCFConstantString objectAtIndex:分组表中的错误

时间:2014-06-22 17:46:13

标签: ios objective-c uitableview nsdictionary

我有一个类似这样的字典(设置页面):

Logout = Logout;
Social =     (
    Facebook,
    Twitter
);
Terms =     (
    "Privacy Policy",
    "Terms of Service"
);

然后是正确的有序数组:

`Social, Terms, Logout`

现在我有三个部分。从cellForRowAtIndexPath我试图这样做:

cell.textLabel.text = [[_settingsOptions objectForKey:
    [_arrayKeys objectAtIndex:indexPath.section]] objectAtIndex:indexPath.row];

我收到了NSCFConstantString错误。当我手动为索引输入数字时,一切都显示正常。但是从数据源方法我得到了这个错误。有人能找到错误吗?

1 个答案:

答案 0 :(得分:1)

示例代码作为答案(不是)用于格式化:

NSString *s1 = [_arrayKeys objectAtIndex:indexPath.section];
NSArray  *s2 = [_settingsOptions objectForKey:s1];
NSString *text = [s2 objectAtIndex:indexPath.row];
cell.textLabel.text = text;

真实代码会将实际类型(我猜到)和描述性名称改为s1 s2,text。
仅提供中间体类型和描述性名称可能会使错误清晰。

现在每个步骤都可以独立调试,如果需要,可以进行NSLog'ed。