gpt4 book ai didi

cocoa - 重用 NSPredicate 进行新变量替换

转载 作者:行者123 更新时间:2023-12-03 16:06:55 24 4
gpt4 key购买 nike

我可以重用 NSPredicate 来替换新变量吗?我的 NSPredicate 相当简单:

NSPredicate *userPredicate = [NSPredicate predicateWithFormat:@"id == %@",userID];

用户ID是在运行时生成的,具有不同的值,现在我需要为每个用户ID创建一个NSPredicate。那么我是否可以重用我的 NSPredicate ?

最佳答案

是的,您可以使用变量来做到这一点:

NSPredicate *userPredicate = [NSPredicate predicateWithFormat:@"id == $user"];

将该谓词保存在某处,然后在您需要实际开始过滤内容时执行此操作:

NSDictionary *sub = [NSDictionary dictionaryWithObject:user forKey:@"user"];
NSPredicate *filter = [userPredicate predicateWithSubstitutionVariables:sub];

这是重用谓词的一种更有效的方法,因为解析格式字符串(可能非常昂贵)只发生一次。

关于cocoa - 重用 NSPredicate 进行新变量替换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7708541/

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