Fel*_*ino 17 sqlite debugging core-data ios
如何在使用Core Data SQL Debug时打印发送到sqlite数据库的值?
在我的" 启动时传递的参数 "调试选项中使用" -com.apple.CoreData.SQLDebug 1 " 打印SQL结构就好了
(你可以在这里查看如何使用它:XCode4和核心数据:如何启用SQL调试)
但问题是,UPDATE ZTABLE SET ZCOLUMN = ? WHERE ZID = ?如果您正在尝试查看发送到数据库的完整SQL语句和/或数据,那么打印的NSLog就像是一样,它根本没用.
Mar*_*n R 33
在Xcode中打开"Product - > Scheme - > Edit Scheme ..."并添加到"在启动时传递的参数":
-com.apple.CoreData.SQLDebug 3
-com.apple.CoreData.Logging.stderr 1
Run Code Online (Sandbox Code Playgroud)
(iOS 10/macOS 10.12或更高版本上的Core Data调试需要第二个启动参数,请参阅com.apple.CoreData.SQLDebug无法获取更多信息.)
您将看到SQL语句绑定的所有值.示例输出:
test56[1588:c07] CoreData: sql: BEGIN EXCLUSIVE
test56[1588:c07] CoreData: sql: INSERT INTO ZEVENT(Z_PK, Z_ENT, Z_OPT, ZTIMESTAMP) VALUES(?, ?, ?, ?)
test56[1588:c07] CoreData: details: SQLite bind[0] = (int64)13
test56[1588:c07] CoreData: details: SQLite bind[1] = (int64)1
test56[1588:c07] CoreData: details: SQLite bind[2] = (int64)1
test56[1588:c07] CoreData: details: SQLite bind[3] = "368650709.435904"
test56[1588:c07] CoreData: sql: COMMIT
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4189 次 |
| 最近记录: |