gpt4 book ai didi

ios - 从包含 id 的字符串中形成 NSPredicate

转载 作者:塔克拉玛干 更新时间:2023-11-02 09:18:29 25 4
gpt4 key购买 nike

我有这个问题,我想不出如何写这个谓词。

我有一个名为 Contact 的实体,它有一个字符串属性“pages”,比方说

contact.pages = @"1,5,11,15,17";

我的数据库中有很多联系人,我只想获取这些包含特定 ID 的联系人。所以假设我只想获取这些联系人,这些页面包含 id @"1"。

我可以想到这样的事情,

NSPredicate* predicate = [NSPredicate predicateWithFormat:@"self.pages CONTAINS %@", _pageId];

但我的问题是这也会获得联系人,例如有 pages = @"11,15"。

那么关于如何实现这一点有什么想法吗?如果有任何建议,我将不胜感激,在此先感谢!

最佳答案

NSPredicate 的“MATCHES”运算符可用于与正则表达式进行比较:

NSString *pageId = @"1";
NSString *regex = [NSString stringWithFormat:@"(.*,)?%@(,.*)?", pageId];
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"pages MATCHES %@", regex];

但您还应该考虑将字符串属性替换为与 Page 实体的一对多关系,然后谓词看起来像

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"ANY pages.pageid == %@", pageId];

关于ios - 从包含 id 的字符串中形成 NSPredicate,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14932595/

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