ios – 如何打印Core Data调试值?

ios – 如何打印Core Data调试值?,第1张

概述使用Core Data SQL Debug时如何打印发送到sqlite数据库的值? 在我的“通过启动的参数”调试选项中使用“-com.apple.CoreData.SQLDebug 1”打印SQL结构 (您可以查看如何使用这里:XCode4 and Core Data: How to enable SQL Debugging) 但问题是NSLog打印的东西就像UPDATE ZTABLE SET Z 使用Core Data sql DeBUG时如何打印发送到sqlite数据库的值?

在我的“通过启动的参数”调试选项中使用“-com.apple.CoreData.sqlDeBUG 1”打印sql结构

(您可以查看如何使用这里:XCode4 and Core Data: How to enable SQL Debugging)

但问题是NSLog打印的东西就像UPDATE Ztable SET ZColUMN =? WHERE ZID =?如果您正在尝试查看发送到数据库的完整SQL语句和/或数据是什么,那根本就没有帮助.

解决方法 在Xcode中打开“产品 – >方案 – >编辑方案…”并添加
到“通过发射的论据”:
-com.apple.CoreData.sqlDeBUG 3-com.apple.CoreData.Logging.stderr 1

(Core Data调试需要第二个启动参数
iOS 10 / macOS 10.12或更高版本,请参阅com.apple.CoreData.SQLDebug not working了解更多信息.)

您将看到SQL语句绑定到的所有值.
示例输出:

test56[1588:c07] CoreData: sql: BEGIN EXCLUSIVEtest56[1588:c07] CoreData: sql: INSERT INTO ZEVENT(Z_PK,Z_ENT,Z_OPT,ZTIMESTAMP) VALUES(?,?,?)test56[1588:c07] CoreData: details: sqlite bind[0] = (int64)13test56[1588:c07] CoreData: details: sqlite bind[1] = (int64)1test56[1588:c07] CoreData: details: sqlite bind[2] = (int64)1test56[1588:c07] CoreData: details: sqlite bind[3] = "368650709.435904"test56[1588:c07] CoreData: sql: COMMIT
总结

以上是内存溢出为你收集整理的ios – 如何打印Core Data调试值?全部内容,希望文章能够帮你解决ios – 如何打印Core Data调试值?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1113395.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-29
下一篇 2022-05-29

发表评论

登录后才能评论

评论列表(0条)

保存