2013-03-04 1 views
-1
NSString* nsString=[[NSString alloc]initWithString:@"nsString"]; 
NSLog(@"nsString RetainCount:%li",[nsString retainCount]); 

대응 결과는 다음 부가는 NSString 오브젝티브 C의 카운트를 유지

2013-03-04 11:18:03.291 ARC[655:303] nsString RetainCount:-1 

: 만약 인 NSMutableString 인스턴스 INIT 사용; 1을 반환합니다. 컴파일시에 생성

+2

귀하의 질문은 무엇입니까? – Breakpoint

답변

2

http://whentouseretaincount.com

불변의 NSStrings는 싱글이다. 따라서, 그들은 전혀 retain/release 댄스를하지 않습니다.

NSString은 초기화 될 때이를 감지하고 직접 문자열을 반환합니다. 해당 코드에서 alloc이 반환 한 개체가 init... 호출에서 반환 한 개체와 다르다는 것을 알 수 있습니다.

+0

서식 정리를 위해 @regexident에게 감사드립니다! – bbum