0

インターネットから取得した可変データで NSXMLParser を初期化します。パーサーが割り当て解除時にそれを解放するのか、それとも解析後に解放する必要があるのだろうか?

ありがとう

4

2 に答える 2

2

Cocoa は、「それは私の問題ではない」というメタファーをメモリ管理に使用します。

何かを別のオブジェクトに渡す場合、そのオブジェクトはそれを保持する責任があります。

何かがオブジェクトの 1 つに渡された場合、それを保持する必要があります。

通常、次のようなオブジェクトを渡します。

    [otherObject doSomethingWith:[myThing autorelease]];

また

    [otherObject doSomethingWith:myThing];
    [myThing release];

Cocoa フレームワークはこの原則に基づいて動作するため、クラスを同じように設計する必要があります。

于 2010-01-12T19:16:10.590 に答える
1

保持していて、もう使用しない場合は、解放してください。NSXMLParser は、ほとんどの場合、データ自体を保持し、処理が完了すると解放します。

于 2010-01-12T11:07:31.303 に答える