0

私のアプリでは、ライブラリ検索のさまざまな結果を保存するためにNSArrayが作成されています。結果の各NSArrayもローカルに保存して、後で検索が再度行われた場合にローカルの結果が取得されるようにするという考え方です。

今、私は2つの異なるアプローチについて考えてきました。1つ目は、2番目のView Controllerで、さまざまな結果の配列を格納する配列を作成することです。2つ目は、代わりに、結果を格納するためのNSArray属性を持つSearchというクラス(たとえば)を作成することです。このオブジェクトは、2番目のView Controllerで開始されます(その後、独自の配列に追加されます)。

これは意味がありますか?メモリ管理の観点から、一方が他方より優れていますか?また、デリゲート関数を使用して、データを2番目のViewControllerに渡す必要があります。ありがとう

4

1 に答える 1

1

個人的には大きな違いはありません。2番目のオプションを明確にするために、Searchクラスがすべてのクライアントクラス(ビューコントローラー)で使用できるようにするシングルトンオブジェクトを作成します。そのシングルトンは、ストア関数と最後の結果の取得関数を提供します。

クラス自体(保存および取得するクラスメソッド)を使用するだけで、これをさらに簡単にすることができます。次に、クラスは静的NSMutableArray(またはNSArray)を使用してオブジェクトを保存し続けます。

このアレイを再起動時に使用できるようにする場合は、NSUserDefaultsを使用します。配列内のものをデフォルトで保存できない場合(一部のオブジェクトは保存できない場合)、配列をNSDataオブジェクトに変換して保存できます(すべてのオブジェクトがNSCodingに準拠している場合は、良好な状態です。

于 2012-07-28T20:54:46.660 に答える