gpt4 book ai didi

ios - NSPredicate 对于 NSFetchedResultsController 来说太复杂了

转载 作者:行者123 更新时间:2023-11-28 08:56:03 25 4
gpt4 key购买 nike

这是我的谓词:

fetchReguest.predicate = NSPredicate(format: "ANY users.identifier = %@", String(WLAppSettings.currentUser!.identifier))

控制台输出 print(fetchReguest.predicate)

Optional(ANY users.identifier == "31")

当我添加一条新记录时,它没有出现在我的 UITableView 中。

但是当我将谓词简化为:

fetchReguest.predicate = NSPredicate(format: "name BEGINSWITH[c] 'a'")

控制台输出 print(fetchReguest.predicate)

Optional(name BEGINSWITH[c] "a")

它以漂亮的动画出现在我的 UITableView 中。一切安好。

为什么我的 NSPredicate 的复杂性会影响我的 NSFetchedResultsController 的工作?有办法解决这个问题吗?

NSFetchedResultsControllerDelegate 有很多问题。我很确定这是因为 NSPredicate 的复杂性。有什么想法吗?

下面是我的 NSManagedObject 我为 NSPredicate 创建了:

@objc(WLWishlist)
class WLWishlist: NSManagedObject {

@NSManaged var identifier: Int16
@NSManaged var name: String

@NSManaged var users: Set<WLUser>
}

最佳答案

问题在于:

fetchReguest.predicate = NSPredicate(format: "ANY users.identifier = %d", WLAppSettings.currentUser!.identifier)

由于标识符是 Int16,它不能与 %@ 一起使用,而是 %d

关于ios - NSPredicate 对于 NSFetchedResultsController 来说太复杂了,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33010788/

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