アプリ内のXMLファイルをすばやく簡単に解析する必要があります。私にとって最善の解決策は、XMLからNSDictionaryへのコンバーターに沿ったものであり、それを簡単に掘り下げることができるようです。
私はこの小さなクラスを使用することを選択しました:http://troybrant.net/blog/2010/09/simple-xml-to-nsdictionary-converter/
しかし、私は返さNSDictionary*れたものとメモリ内のその状態について混乱しています。classメソッドdictionaryForXMLDataは、クラスを割り当てて初期化します。その後、オフになり、呼び出し元に返されるオブジェクトをobjectWithData返す重い持ち上げを行います。NSDictionary
私にとって紛らわしい部分は[reader release]、帰国前です(これは、reader作成された方法のために発生する必要があることを理解しています)。私の理解でNSDictionaryは、すべてのオブジェクトにもreleaseメッセージが送信されます。つまり、返されるオブジェクトには保持カウントがないはずです。オブジェクトは便利なメソッドで作成され、スタックに追加されたときにのみ保持カウントを取得することに注意してください。
returnステートメントは。ではないはずreturn [rootDictionary autorelease]です。それで私が見る問題は、いつrootDictionaryリリースされるかわからないことであり、XMLファイルのサイズによってはメモリを詰まらせる可能性がありますか?それとも私はそれをすべて間違っていますか?