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
中。一切都很好
为什么myNSPredicate
的复杂性会影响myNSFetchedResultsController
的工作?有办法解决这个问题吗
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
一起使用