gpt4 book ai didi

ios - NSPredicate 嵌套数组

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

我有以下对象结构

类别:

  • 子类别(子类别的 nsarray)

子类别:

  • 问题(nsarray of question)

问题:

  • 问题(nsstring)

  • 回答(nsstring)

我需要的是用给定的子字符串搜索任何问题

以下谓词无效:

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"ANY subcategories.questions.question CONTAINS[cd] %@", substring];

如何正确获取它们?

最佳答案

对于更复杂的谓词字符串语法,我通常使用 predicateWithBlock 来评估它们,因为它更容易调试和理解。但是,为此,如果您只想获取包含给定子字符串的类别中的所有问题,我将使用:

NSArray *questions = [self arrayByFlattening:[categories valueForKeyPath:@"subcategories.questions"]];
questions = [questions filteredArrayUsingPredicate:[NSPredicate predicateWithFormat:@"question CONTAINS[cd] %@", substring]];

其中 arrayByFlattening 是一种展平数组的方法。

如果您需要在一次提取中执行所有操作,即如果您正在使用具有大量样本源的核心数据并且不想提取超出您需要的数据然后过滤结果,则此方法效果不佳.

关于ios - NSPredicate 嵌套数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27432485/

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