请使用以下代码,我必须记住我的自定义数据模型的key
名称。
// define a sort descriptor
NSSortDescriptor *descriptor = [[NSSortDescriptor alloc]initWithKey:@"timeStamp"; ascending:YES];
NSArray *scArray = [[NSArray alloc]initWithObjects:descriptor, nil];
我是不是可以做myCustomDataModel.timeStamp
之类的事情,就像我使用自定义managedObjects
将实体插入商店一样?这样做的一个原因是减少输入错误。 (我忘了这个单词的名字是什么,沿着类型面的线条?我要写的单词的意思是由于编译时间检查而导致的错误更少)
答案 0 :(得分:0)
是的,你可以使用NSStringFromSelector函数做类似的事情。只要您的数组中填充了myCustomDataModel类中的对象,并且该类具有名为timeStamp的属性,就可以执行此操作,
NSString *sortString = NSStringFromSelector(@selector(timeStamp));
NSSortDescriptor *sorter = [NSSortDescriptor sortDescriptorWithKey:sortString ascending:YES];
self.myArray = [self.myArray sortedArrayUsingDescriptors:@[sorter]];
如果拼错了选择器的名称,您将获得一个未声明的选择器"来自编译器的警告。