gpt4 book ai didi

ios - Objective-C 中按一个属性对自定义对象的 NSSet 进行排序

转载 作者:行者123 更新时间:2023-11-29 05:58:04 28 4
gpt4 key购买 nike

我正在尝试按属性或属性的最常见值对数组进行排序。 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 似乎无法被识别。

最佳答案

您的 mySet 如果是文章集 *。然后您就算作文章。 titleNSString *。尝试更改 NSString * 集应该可以工作。

 NSMutableArray<NSString *> *resultsStr = [NSMutableArray new];
[results enumerateObjectsUsingBlock:^(Articles * _Nonnull obj,
NSUInteger idx,
BOOL * _Nonnull stop) {
[resultsStr addObject:obj.title];
}];
NSCountedSet* mySet = [[NSCountedSet alloc] initWithArray:resultsStr];

关于ios - Objective-C 中按一个属性对自定义对象的 NSSet 进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54953411/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com