我有一个类似这样的字典(设置页面):
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错误。当我手动为索引输入数字时,一切都显示正常。但是从数据源方法我得到了这个错误。有人能找到错误吗?
答案 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。