NSMutableArray *标签; 它已正确填充。
NSSortDescriptor* sortOrder = [NSSortDescriptor sortDescriptorWithKey: @"self" ascending: NO];
labels = [labels sortedArrayUsingDescriptors: [NSArray arrayWithObject: sortOrder]];
由于未捕获的异常'NSInvalidArgumentException'而终止应用程序,原因:' - [__ NSArrayI addObject:]:无法识别的选择器发送到实例。
即使我在最后一行将NSArray更改为NSMutuableArray,我仍然会收到错误。
由于
答案 0 :(得分:3)
不要为它分配相同的数组。如果它是不可变的nsarray。
所以这样做
把你的
labels as NSMutableArray
NSMutableArray *resultArray;
NSSortDescriptor* sortOrder = [NSSortDescriptor sortDescriptorWithKey: @"self" ascending: NO];
resultArray = [[labels sortedArrayUsingDescriptors: [NSArray arrayWithObject:sortOrder]] mutableCopy];
self.labels=resultArray;//updated code
NSLog(@"resultArray : %@ \n\n",resultArray);
答案 1 :(得分:1)
NSArray * descriptors = [NSArray arrayWithObjects: sortOrder, nil];
labels = [labels sortedArrayUsingDescriptors:descriptors];
这应该适合你。