我在我的DML语句的应用程序中使用CoreData,并且一切都很好。 但是,我不希望使用NSFetchedResultsController简单的查询,如获得行数等从fmdb访问CoreData表
我已经决定使用fmdb,但不知道实际的表名写入SQL。实体和表名不匹配。 我甚至看了.sqllite文件中有文字编辑,但没有希望:) FMResultSet * RS = [DB的getSchema]不返回任何行
也许有更好的解决我的问题?
在此先感谢
我在我的DML语句的应用程序中使用CoreData,并且一切都很好。 但是,我不希望使用NSFetchedResultsController简单的查询,如获得行数等从fmdb访问CoreData表
我已经决定使用fmdb,但不知道实际的表名写入SQL。实体和表名不匹配。 我甚至看了.sqllite文件中有文字编辑,但没有希望:) FMResultSet * RS = [DB的getSchema]不返回任何行
也许有更好的解决我的问题?
在此先感谢
核心数据前缀所有的SQL名称与Z_
。使用SQL命令行工具检出您的持久存储文件以查看它使用的名称。
但是,这是一个非常复杂和脆弱的解决方案。核心数据架构没有文档记录,并且在没有警告的情况下进行更改,因为核心数据不支持直接SQL访问。您可能会直接错误地访问商店文件,并且您的解决方案可能会在下次更新API时随机中断。
核心数据API提供了您正在寻找的功能。我只使用一个使用NSExpressionDescription来执行功能的获取请求fetches on a specific value。这使您可以获取计数,最小值,最大值等信息。您可以创建和使用独立于NSFetchedResultsController的提取。
Core Data API功能非常丰富。如果您发现自己在API之外寻找数据解决方案,那么您很可能错过了API中的某些东西。
我会尽力而为,非常感谢 – Elnur