问题 核心数据:获取所有实体


我想知道是否有相当于MySQL的东西 SELECT * FROM table ORDER BY sth 获取所有结果。


12003
2018-01-09 11:37


起源



答案:


用一个 NSFetchRequest 用一个 nil 谓词和适当的 NSSortDescriptor。在iOS上,您应该使用 NSFetchedResults 控制器作为查询可以一次返回您想要的更多内存项目。


12
2018-01-09 13:43



iOS上的CoreData在内存利用率方面非常聪明。它不会将所有行加载到返回的NSArray中。实际上,返回的对象是NSArray的子​​类,它是数组的代理,这意味着它实现了NSArray的所有方法,但实际上并没有一个数组。它只会按应用程序的请求加载数据行。 - Jack Cox


答案:


用一个 NSFetchRequest 用一个 nil 谓词和适当的 NSSortDescriptor。在iOS上,您应该使用 NSFetchedResults 控制器作为查询可以一次返回您想要的更多内存项目。


12
2018-01-09 13:43



iOS上的CoreData在内存利用率方面非常聪明。它不会将所有行加载到返回的NSArray中。实际上,返回的对象是NSArray的子​​类,它是数组的代理,这意味着它实现了NSArray的所有方法,但实际上并没有一个数组。它只会按应用程序的请求加载数据行。 - Jack Cox


Xhan,

'语法'可能是等价的,但是你需要在应用程序中做一些工作。一个很好的开始解释是 这里

一般来说,你想要设置一个 NSFetchRequest使用您需要的适当过滤器,排序等。

- 弗兰克


0
2018-01-09 11:50



感谢你的回答。似乎是一个 NSFetchRequest 没有 NSPredicate 作品。我还在测试。 - xhan