2013-05-29 26 views
4

我發現斷點通過我所有的代碼來擺脫所有NSLog語句非常方便。這一次我正在尋找一種方法來打印來自NSRequest的HTML響應在斷點處。添加XCode斷點記錄NSData返回的NSData

假設returnData是從我NSRequest返回的變量,我試圖添加一個斷點與調試命令是這樣的:

po (@"%@", returnData)

,但它給我的整個HEX響應

然後我試着與此

po ([[NSString alloc] initWithData:returnData encoding:NSUTF8StringEncoding])

但我得到一個錯誤:使用未聲明的標識符的「NSUTF8StringEncoding」

回答

9

NSUTF8StringEncoding是NSUInteger,在NSString.h可以看到值是4,那麼你可以這樣做

po [[NSString alloc] initWithData:returnData encoding:4] 
-1

NSUTF8StringEncoding是在基礎框架中聲明的NSString.h中聲明的枚舉。 你是否仔細檢查過基礎框架是否在項目中導入? 如果是,則嘗試導入NSString.h並重新編譯。

在另一方面,我打印的NSData這樣

 NSString *responseString = [[NSString alloc] initWithData:responseData encoding:NSUTF8StringEncoding]; 

     NSLog(@"Response:%@",responseString); 
+0

爲什麼被降低了? – user1374408

+0

可能是因爲原來的問題明確提出瞭如何在調試器中使用po來執行任務。 – Walter