gpt4 book ai didi

ios - 从其他 NSSet 中减去 NSSet

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:54:11 27 4
gpt4 key购买 nike

我有两个 NSSet。一个包含所有用户 key ,另一个包含在线用户 key 。我想分两部分展示这个值。 Section 1-在线用户和section2-其他用户

我使用如下谓词完成了此操作。

NSSet *nsset1 = [NSSet setWithArray:attendeesService.arrof_attendeeList]; //this are all users
nsset2 = [NSSet setWithArray:tempArray]; // temparray contains all online users.
NSSet *nsset2_ids = [nsset2 valueForKey:@"UserProfileKEY"];
nsset1_minus_nsset2 = [nsset1 filteredSetUsingPredicate:[NSPredicate predicateWithFormat:@"NOT UserProfileKEY IN %@",nsset2_ids]];

它工作正常。但是所有用户大约有 3000+ 并且一次在线可能有 200+。所以这需要很多时间。 4-5 个在线用户需要 1 分钟。所以对于200+在线用户会花费更多的时间。有没有更快的解决方案?

谢谢。

最佳答案

使用 minusSet来自 NSMutableSet

减号集:从接收集中移除另一个给定集中的每个对象(如果存在)。

NSMutableSet *nsset1 = [NSMutableSet setWithArray: attendeesService.arrof_attendeeList];
NSSet *set2 = [NSSet setWithArray: tempArray];
[nsset1 minusSet: set2];
NSArray *nsset1_minus_nsset2 = [nsset1 allObjects];

关于ios - 从其他 NSSet 中减去 NSSet,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28025771/

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