2012-03-09 50 views
1

下面的代碼工作正常,地址被打印,但給出了「錯誤類型」警告。我對Xcode相當陌生,並且期望將指針無意義地轉換爲無符號的。如何在沒有警告的情況下在Xcode中打印地址

{NSLog(@"Released <%@> at %X, retain count now %lu", newEntry, newEntry, [newEntry retainCount]);} 
+0

retainCount是沒用的。別叫它。 – bbum 2012-03-09 15:49:48

+0

@bbum呃,當你在學習的時候,retainCount其實很有趣。 – 2012-03-09 23:39:13

+1

不是真的; 「retainCount」充其量是誤導性的。 http://www.friday.com/bbum/2011/12/18/retaincount-is-useless/ – bbum 2012-03-09 23:54:32

回答

3

正確格式說明用於指針地址%P:

NSLog(@"Released <%@> at %p, retain count now %lu", newEntry, newEntry, [newEntry retainCount]); 
+0

非常感謝 - 約翰 – 2012-03-09 14:25:11

3

%P是用於指針。信息可以通過查看字符串編程指南在格式說明符下找到

1

要打印任何實例變量的地址,您需要使用%p。

NSLog(@"Address %p", newEntry); 
相關問題