アプリ内の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ファイルのサイズによってはメモリを詰まらせる可能性がありますか?それとも私はそれをすべて間違っていますか?