ios - 使用 NSPredicate 的 FetchRequest 找不到结果?

标签 ios swift core-data nspredicate

我将数据存储在包含“名称”和“系列”列的表中。我正在使用这个 NSPredicate 来查询:

var request : NSFetchRequest = NSFetchRequest(entityName: "Entry")
request.returnsObjectsAsFaults = false
request.predicate = NSPredicate(format: "name = %@ AND series = %@", name, series)
return request

“name”和“series”变量作为字符串参数传入,这也是表中的数据类型。

由于某种原因,此查询没有返回任何数据。如果我在没有指定谓词的情况下对该表执行提取请求,我可以看到数据确实在那里。我不确定我做错了什么。

对于它的值(value),我尝试将条件括在括号中,但这似乎也没有什么区别。提前致谢!

更新:我尝试了很多不同的方法,但到目前为止没有任何效果。我真的很困惑。

无论如何,我似乎遇到了与此人相同的问题:NSPredicate Returns No Results with Fetch Request, Works with Array Filtering

但是,该条目中没有任何内容具体说明问题的解决方案是什么。

最佳答案

您可以通过以下方式检查数据是否存在

  1. 将应用程序文档目录的 URL 打印到控制台。
  2. 转到终端中的此目录
  3. 正在运行sqlite3 <databaseName>
  4. 尝试select * from z<entityName> where name = '<nameData>'

您将能够探索数据并检查它是否包含您期望的内容。不要忘记检查您的 name 的内容和series代码中的变量。

关于ios - 使用 NSPredicate 的 FetchRequest 找不到结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32164721/

相关文章:

ios - 线程 1 : Signal SIGABRT when trying to switch view controllers

ios - 显示详细 View 的表格并返回到表格 View 中的同一位置

xcode - Swift 命令行无法工作,而 Xcode 工作正常 - repl_swift 未找到

ios - Swift 2.0 Popover View 无法在 iPhone 6s plus 上获得正确的位置,但在 iPhone 6s 上可以正常工作

arrays - 数组包含一个完整的子数组

ios - 与 visual studio community 2013 连接的 IOS 中的构建错误

ios - 在其他 View 中更新核心数据属性时,SwiftUI 列表不会更新

ios - 核心数据中的主键位置

ios - 在iOS 11中,如何使核心数据在核心聚光灯下可搜索

ios - Swift:如何在没有 topBorder 的情况下向 UITabBarController 添加阴影