gpt4 book ai didi

iOS - 使用谓词过滤集的性能

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

我在一些旧设备(例如 ipod touch 4th gen)上出现 UI 卡顿/暂停,我已将其缩小到这段代码:

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"gender != %@ && catId != %@", [NSNumber numberWithInt:0], [NSNumber numberWithInt:7]];
NSSet *filteredCats = [cats filteredSetUsingPredicate:predicate]; //cats is an NSSet

如果我注释掉这两行代码并改为这样做:

NSSet *filteredCats = cats;

表演很流畅。那么,如何才能在不引起屏幕更新短暂停顿的情况下改进此过滤?

最佳答案

您可以异步进行过滤,这应该有助于提高性能:

 __weak ViewController *bSelf = self;
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0ul),^{

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"gender != %@ && catId != %@", [NSNumber numberWithInt:0], [NSNumber numberWithInt:7]];

NSSet *filteredCats = [cats filteredSetUsingPredicate:predicate];

dispatch_async(dispatch_get_main_queue(), ^{
[bSelf updateMyViewWithFilteredSet:filteredCats];
}
}

关于iOS - 使用谓词过滤集的性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16152967/

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