从不调用选择器compareUserObject:toObject:并且仅通过将状态与简单的相等性检查进行排序来对数组进行排序。该查询是Parse查询。如何调用自定义比较器(compareUserObject:toObject :)?
NSSortDescriptor *statusDescriptor = [[NSSortDescriptor alloc]
initWithKey:@"status"
ascending:NO
selector:@selector(compareUserObject:toObject:)];
[query orderBySortDescriptor:statusDescriptor];
答案 0 :(得分:1)
那是因为你传递了2个参数。看看这个文档:
"比较对象属性时使用的方法,例如caseInsensitiveCompare:或localizedCompare:。选择器必须指定由keyPath标识的属性值实现的方法。 用于比较的选择器传递一个参数,即要与self进行比较的对象,并且必须返回相应的NSComparisonResult常量。选择器必须 具有相同的方法签名:"
- (NSComparisonResult)localizedCompare:(NSString *)aString