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

対応する結果は次のとおりです。

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

さらに、initを使用する場合はNSMutableStringインスタンス。1を返します。

4

1 に答える 1

2

http://whentouseretaincount.com

NSStringsコンパイル時に生成される不変はシングルトンです。retain/releaseしたがって、彼らはダンスをまったく しません。

NSStringそのようなもので初期化されたことを検出し、文字列を直接返します。そのコードで返されるオブジェクトは、呼び出しallocによって返されるオブジェクトとは異なることがわかります。init...

于 2013-03-04T15:05:33.697 に答える