1

我正在使用 aNSSortDescriptor对我的 tableView 进行排序,但这条线很麻烦:

if (buttonIndex == 0) {
    sortDesc = [[NSSortDescriptor alloc] initWithKey:@"Rate" ascending:NO];
}

"Rate" 是 plist(带字典的数组)中的数字字符串。

如果字典未分级,则默认值为“0”,如果已分级,则值为“1”、“2”、“3”、“4”、“5”或“6”。为什么我不能按这些值排序,怎么做?

'NSInvalidArgumentException',原因:'-[__NSCFNumber 长度]:无法识别的选择器发送到实例 0x6c382c0'

编辑:

问题是我用字符串而不是数字对字典进行评分:

[mutDict setValue:@"0" forKey:@"Rate"];

如何为 Rate 设置数字而不是字符串?

4

1 回答 1

1

如何为 Rate 设置数字而不是字符串?

您可以使用NSNumber而不是字符串文字:

[mutDict setValue:[NSNumber numberWithInt:0] forKey:@"Rate"];
//          The actual rate goes here ----^

NSNumberinclude numberWithLongnumberWithDouble和的其他类方法NumberWithFloat

于 2012-08-13T19:26:45.517 回答