0

コアデータとSQLiteストレージファイルを使用するAppleのような名簿や連絡先アプリを作成できるかどうか疑問に思いました。

それが可能かどうか、またはそれを行う方法がわからない部分は、電話用の複数のプロパティを持っていることです。したがって、ユーザーは同じ連絡先に対して5つの異なる電話番号を入力できます。

私がそれを行うことを考えることができる唯一の方法は、言うことです...その人のために1つのエンティティを持っています...それから彼らと関係を持っている電話のための別のエンティティを持っています。したがって、1人が複数の電話を持つことはできますが、1台の電話は1人しか持つことができません。しかし、それはそれを行うのに良い方法だとは思われませんでした...誰か提案がありますか?

4

1 に答える 1

4

いくつかのエンティティがこのようなことをするのに良い方法ではないという結論にあなたがどのように到達したのかわかりません。柔軟性が必要な場合は、これが唯一の方法です。エンティティに3つの電話番号属性を追加することは、間違いなく間違った方法です。

次のような単純なデータモデルを使用します。

ここに画像の説明を入力してください

各レコードには、タイプ(Eメール、電話、FAX、IM連絡先など)、キー(オフィス、自宅、モバイル、Twitter、jabberなど)と値(55512345、foo @ bar.com、@ foobarなど)があります。

このようなモデルは最も柔軟性があり、実装はそれほど複雑ではありません。
電話番号やメールアドレスなどを取得するには、いくつかの述語が必要ですが。

于 2012-05-26T11:26:37.087 に答える