iphone - 我可以对 NSFetchRequest 应用多个谓词吗?手动解析我的结果会更好吗?

标签 iphone core-data nspredicate nsfetchrequest

好的,我有一个基本的 iPad 应用程序,要求用户提供 5 个搜索/过滤条件。根据这些数据,我需要访问我的核心数据数据库,并提取符合该条件的任何托管对象。似乎我需要对同一请求应用多个谓词,这可能吗?或者我可以写一个非常长的奇特谓词吗?有多重要求?我应该如何处理这个问题?

通过获取请求获取所有实体,然后循环遍历每个数组并获取我发现符合搜索条件的任何对象,这是一个好主意吗?

请多多指教!

最佳答案

是的,这是可能的。您正在寻找复合谓词,这里有一个 AND 谓词的示例:

NSPredicate *compoundPredicate 
   = [NSCompoundPredicate andPredicateWithSubpredicates:[NSArray of Predicates]];

您还可以根据需要使用 notPredicateWithSubpredicatesorPredicateWithSubpredicates

文档链接 https://developer.apple.com/documentation/foundation/nscompoundpredicate

关于iphone - 我可以对 NSFetchRequest 应用多个谓词吗?手动解析我的结果会更好吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8129508/

相关文章:

iphone - 如何在 iPhone (iOS) 上检测硬件键盘上的键盘事件

iOS 7预填充Core Data数据库不包含所有数据

ios - 核心数据 : annotation: Failed to load optimized model at path '/var/containers/Bundle/.... '

iphone - 如何搜索核心数据实体并删除某些对象

ios - 如何在 NSTimeInterval 上使用谓词?

ios - 如何将此 SQL 查询转换为 NSFetchRequest

iphone - 如何实现这种字体外观?

iphone - 如何调用在同一个 ViewController 中声明的简单方法?

iphone - 使用 Core Data 在 UITableView 中显示 "No rows found"消息

core-data - Core Data 可以使用 Google Docs 作为持久性存储吗?