0

plistを指すURLからNSArrayを作成しています

NSLog(@"_url rc:[%d]",[_url retainCount]); //prints "_url rc:[1]"
content = [NSArray arrayWithContentsOfURL:_url];
NSLog(@"_url rc:[%d]",[_url retainCount]); //prints "_url rc:[10]"

なぜこれが起こっているのか、私は完全に途方に暮れています。さらに詳しい情報が必要な場合はお知らせください。

4

1 に答える 1

2

-retainCountを呼び出さないでください。

オブジェクトに触れたことのあるものがコードだけでない限り、オブジェクトの絶対保持数は役に立ちません。オブジェクトをシステムAPIに渡すとすぐに、絶対保持カウントは制御できなくなります。

chrissrが示唆しているように、オブジェクトの保持カウントは完全にデルタとして扱われる必要があります。増加させる場合は、減少させる必要があります。保持する場合は、解放する必要があります。コピーする場合は、リリースする必要があります。等...

于 2010-07-02T20:49:40.447 に答える