Objective - C
連絡先アプリを開発して学んでいます。これは学習用であるため、Core data
または は使用していません。Address book API
したがって、各連絡先はマスターに保存されるオブジェクトNSArray
です。ユーザーは、各グループが適切な連絡先オブジェクトを に格納する連絡先のグループを作成できますNSArray
。私が直面している問題は、連絡先がマスター配列から削除されたときNSArray
です。オブジェクトが保持されているため、すべてのグループから手動で削除する必要があります。これを回避するより良い方法はありますか?
2 に答える
あなたが学んでいるように、私は提案します:
シンプル: アプリケーションで連絡先リストのみを作成し、単一のマスター リストから連絡先を追加/編集/削除します。ドキュメント ディレクトリの plist からリストを保存して取得することもできます。
学習します: plist、tableView、ナビゲーション、viewControllers、配列から & 内のデータを維持します。
リアルタイム: 4 ~ 5 個のテーブルを持つ sqlite データベースを使用できます。それぞれに、連絡先、グループ、アドレス、Web サイト、および必要に応じて他の多くの情報があります。行 ID の参照で連結されたすべてのテーブル。上記以外にも、多くのことを学ぶのに役立ちます。
オブジェクトを複数の配列にコピーしないでください。元のオブジェクトへの同じポインターを使用して、同じオブジェクトを複数の配列に追加します。配列へのポインターを維持し、すべての配列から同じオブジェクトを一度に削除します。isEqual を実装する場合は、== ポインターの等価性を使用します。
コレクションに保存する目的で同じオブジェクトをコピーすることは、自分にとって頭痛の種になるだけです。不変性は優れた機能ですが、システム全体での実際の ID は、特にポインター ベースの言語ではより優れた機能です。