Ios NSPredicate对于NSFetchedResultsController来说太复杂

Ios NSPredicate对于NSFetchedResultsController来说太复杂,ios,swift,uitableview,nsfetchedresultscontroller,Ios,Swift,Uitableview,Nsfetchedresultscontroller,这是我的谓词: fetchReguest.predicate = NSPredicate(format: "ANY users.identifier = %@", String(WLAppSettings.currentUser!.identifier)) 控制台上的打印输出(fetchReguest.predicate) 可选(ANY users.identifier==“31”) 添加新记录时,它不会出现在我的UITableView中 但当我将谓词简化为: fetchReguest.pre

这是我的谓词:

fetchReguest.predicate = NSPredicate(format: "ANY users.identifier = %@", String(WLAppSettings.currentUser!.identifier))
控制台上的打印输出(fetchReguest.predicate)

可选(ANY users.identifier==“31”)

添加新记录时,它不会出现在我的
UITableView

但当我将谓词简化为:

fetchReguest.predicate = NSPredicate(format: "name BEGINSWITH[c] 'a'")
控制台上的打印输出(fetchReguest.predicate)

可选(名称以[c]“a”开头)

它以漂亮的动画显示在我的
UITableView
中。一切都很好

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

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

下面是我为以下对象创建的
NSManagedObject
NSPredicate:

@objc(WLWishlist)
class WLWishlist: NSManagedObject {

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

    @NSManaged var users: Set<WLUser>
}
@objc(WLWishlist)
WLWishlist类:NSManagedObject{
@NSVAR管理标识符:Int16
@NSVAR名称:字符串
@NSVAR管理用户:设置
}
问题在于:

fetchReguest.predicate = NSPredicate(format: "ANY users.identifier = %d", WLAppSettings.currentUser!.identifier)
由于标识符是
Int16
,因此不能与
%@
一起使用,而是
%d

问题在于:

fetchReguest.predicate = NSPredicate(format: "ANY users.identifier = %d", WLAppSettings.currentUser!.identifier)
由于标识符是
Int16
,因此不能与
%@
一起使用,而应与
%d
一起使用