打開「產品 - >計劃 - >編輯計劃......」在Xcode並添加 到「參數傳遞就啓動」:
-com.apple.CoreData.SQLDebug 3
-com.apple.CoreData.Logging.stderr 1
(需要對核心數據調試上的第二次發射參數 iOS 10/macOS 10.12或更高版本,請參閱com.apple.CoreData.SQLDebug not working以獲取更多信息。)
您將看到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
它沒有顯示'NSFetchRequest'請讓我知道是有什麼辦法也顯示 –
@VarunNaharia:你可以簡單地打印請求,就像'NSLog(@「request:%@」,request)' –
我正在使用swift,並且在控制檯上檢查了'po fetchRequest',並且我得到了這個' NSFetchRequest:0x1704c23e0>(實體:TravelDetail;謂詞:(id == 6412); sortDescriptors:((null));類型:NSManagedObjectResultType;)' –