gpt4 book ai didi

iphone - 在哪里可以找到 NSPredicate for Core Data 的 SUBQUERY 功能的文档?

转载 作者:行者123 更新时间:2023-12-03 18:44:02 25 4
gpt4 key购买 nike

哪里可以找到 NSPredicate for Core Data 的 SUBQUERY 功能的文档?

最佳答案

好问题...这似乎没有很好的记录。

这是我发现的:

更新:

通过添加应用扩展,Apple 包含了更多 SUBQUERY 示例,因为复杂的匹配逻辑需要它们。

  • String Comparisons Predicate Programming Guide 部分,它现在包含如何匹配 UTI 的示例:

     SUBQUERY (
    extensionItems,
    $extensionItem,
    SUBQUERY (
    $extensionItem.attachments,
    $attachment,
    ANY $attachment.registeredTypeIdentifiers UTI-CONFORMS-TO "com.adobe.pdf"
    ).@count == $extensionItem.attachments.@count
    ).@count == 1
  • 您可以在应用程序扩展编程指南 > 应用程序扩展要点 > Handling Common Scenarios section 中找到更复杂的示例。 :

     SUBQUERY (
    extensionItems,
    $extensionItem,
    SUBQUERY (
    $extensionItem.attachments,
    $attachment,
    ANY $attachment.registeredTypeIdentifiers UTI-CONFORMS-TO "org.appextension.action-one" ||
    ANY $attachment.registeredTypeIdentifiers UTI-CONFORMS-TO "org.appextension.action-two"
    ).@count == $extensionItem.attachments.@count
    ).@count == 1
  • 还有一个 NSPredicate Cheatsheet其中讨论了 SUBQUERY 以及其他几个 NSPredicate 功能。

<小时/>

本质上每个SUBQUERY都相当于Swift中的filter。并且 ANY 相当于 contains

所以再次举这个例子:

SUBQUERY (
extensionItems,
$extensionItem,
SUBQUERY (
$extensionItem.attachments,
$attachment,
ANY $attachment.registeredTypeIdentifiers UTI-CONFORMS-TO "com.adobe.pdf"
).@count == $extensionItem.attachments.@count
).@count == 1

这与 Swift 中的类似:

extensionItems.filter {
$0.attachments.filter {
$0.registeredTypeIdentifiers.contains {
$0.utiConformsTo("com.adobe.pdf")
}
}.count == $0.attachments.count
}.count == 1

关于iphone - 在哪里可以找到 NSPredicate for Core Data 的 SUBQUERY 功能的文档?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3076618/

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