gpt4 book ai didi

objective-c - 我可以为此使用 NSPredicate 吗?

转载 作者:行者123 更新时间:2023-11-28 20:25:29 24 4
gpt4 key购买 nike

这是我的循环:

- (NSArray *)myArray
{
if (!_myArray)
{
NSMutableArray *array = [NSMutableArray array];

for (MyReport *report in self.helper.myReportType.reports)
{
[array addObject:report.nameString];
}
_myArray = array;
}

return _myArray;
}

这是有效的(显然有一些转换发生,这可能不是很好或不可取),但肯定有更好的方法来做到这一点。 NSPredicate 能帮上忙吗? (我对使用 NSPredicate 还是个新手,但我相信它主要用于过滤数据,而不是像这样构建数组?)否则,我如何使用另一个 Apple 帮助程序类重写它?

最佳答案

NSPredicate 更像是过滤数据,就像你说的那样。一种简洁的方法是使用键值编码,当在 NSArray 上使用时,它会在其每个对象上调用 valueForKey: 方法,并将结果作为NSArray:

_myArray = [self.helper.myReportType.reports valueForKey:@"nameString"];

请注意,此方法会自动将 nil 转换为 NSNull。可以在此处找到更高级的 KVC-Collection 运算符信息:http://nshipster.com/kvc-collection-operators/

关于objective-c - 我可以为此使用 NSPredicate 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14151513/

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