我正在尝试按属性或属性的最常用值对数组进行排序。 This question和其他人建议您可以使用NSSet有效地完成此操作。但是,它仅按最常见的字符串排序,而不是自定义对象中的属性值。我将如何获得以下内容以返回最受欢迎的标题?
NSArray<Articles*> *results = [self.managedObjectContext executeFetchRequest:fetchRequest
error:&error];
NSCountedSet* mySet = [[NSCountedSet alloc] initWithArray:results];
Articles* mostRead = nil;
NSUInteger highestCount = 0;
for(Articles* article in results) {
NSUInteger count = [mySet countForObject:article.title];
if(count > highestCount) {
highestCount = count;
mostRead = article;
}
}
上面的代码没有返回值,因为countForObject:article.title似乎无法识别。
答案 0 :(得分:0)
您的mySet(如果设置为Articles *
)。然后,您计算article. title
的{{1}}。尝试更改NSString *
的设置应该可以。
NSString *