2012-03-09 4 views
1

아래 코드는 정상적으로 작동하지만 주소는 인쇄되지만 '잘못된 유형'경고가 표시됩니다. 저는 Xcode를 처음 접했을 때 부호없는 (unsigned) 포인터에 대한 호환되지 않는 변환을 기대했습니다.경고없이 Xcode에서 주소를 인쇄하는 방법

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

retainCount가 쓸모있다. 전화하지 마세요. – bbum

+0

@bbum 음, 음, retainCount는 실제로 배우고있을 때 따라하기에 실제로 흥미 롭습니다. –

+1

아니요. 'retainCount'는 기껏해야 오해의 소지가 있습니다. http://www.friday.com/bbum/2011/12/18/retaincount-is-useless/ – bbum

답변

3

올바른 형식 지정자 % 포인트이다. 문자열 프로그래밍 가이드에서 형식 지정자를 통해 정보를 찾을 수 있습니다.

+0

많은 감사합니다 - 존 –

3

% (P)는 포인터에 사용되는 : 포인터 주소

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

% p를 사용해야하는 인스턴스 변수의 주소를 인쇄하려면 다음을 수행하십시오.

NSLog(@"Address %p", newEntry);