下面的代碼工作正常,地址被打印,但給出了「錯誤類型」警告。我對Xcode相當陌生,並且期望將指針無意義地轉換爲無符號的。如何在沒有警告的情況下在Xcode中打印地址
{NSLog(@"Released <%@> at %X, retain count now %lu", newEntry, newEntry, [newEntry retainCount]);}
下面的代碼工作正常,地址被打印,但給出了「錯誤類型」警告。我對Xcode相當陌生,並且期望將指針無意義地轉換爲無符號的。如何在沒有警告的情況下在Xcode中打印地址
{NSLog(@"Released <%@> at %X, retain count now %lu", newEntry, newEntry, [newEntry retainCount]);}
正確格式說明用於指針地址%P:
NSLog(@"Released <%@> at %p, retain count now %lu", newEntry, newEntry, [newEntry retainCount]);
非常感謝 - 約翰 – 2012-03-09 14:25:11
%P是用於指針。信息可以通過查看字符串編程指南在格式說明符下找到
要打印任何實例變量的地址,您需要使用%p。
NSLog(@"Address %p", newEntry);
也許你應該考慮這一點 - 它是一個更通用的解決方案 http://vgable.com/blog/tag/nslog/
retainCount是沒用的。別叫它。 – bbum 2012-03-09 15:49:48
@bbum呃,當你在學習的時候,retainCount其實很有趣。 – 2012-03-09 23:39:13
不是真的; 「retainCount」充其量是誤導性的。 http://www.friday.com/bbum/2011/12/18/retaincount-is-useless/ – bbum 2012-03-09 23:54:32