データを取得して Web サービスにプッシュするアプリを開発していますが、正しい方法を知りたいです。
私のアプリでは、ユーザーが「グループ」を作成し、このグループに友人を追加して、全員がこのグループに参加できるようにします
私の最初の設計では、これらのデータ モデルを使用しました
グループ、メンバー、貢献
JSON で Java Web バックエンドを使用して、送信前にデータをシリアル化することを考えています。
ここに私の質問があります:
1-モデルをクライアントにローカルに保存する最良の方法は何ですか? コアデータですか?
2- ユーザーが表示しようとするたびにグループと投稿データを取得したくないので、groupSerial と呼ばれるグループにプロパティを追加することを考えています。これは変更ごとに増加します。このようにして、クライアント アプリはサーバーにシリアル番号を照会し、ローカル バージョンと異なる場合はグループを取得します。これは良い考えであり、最善の方法ですか? そうでない場合は何ですか?
3- HTTPS リクエスト (取得には GET、更新には POST) を使用してデータをフェッチしたいのですが、これが最善の方法ですか? 考慮すべきベストプラクティスはありますか?
4-コアデータエンティティクラスをサブクラス化し、ユーティリティメソッドを追加して、スーパークラスを含む相対的な作業を行うことは良い考えですか?
たとえば、 Group というコア データ エンティティ クラスがあるので、次のクラス メソッドを持つ XYZGroup というサブクラスを作成します。
+(Group)fetchGroup:(NSString gid); // return the latest version of the group ,whether from local storage or the web server
+(void)newGroup:(Group)group; //push the new group to the web server and update local data
+(NSArray)getGroupsSummaries;//Return an array of meta data about joined groups
また、次のようなメソッドを持つ XYZMember というクラスがあります。
+(NSString)myMemberID;
+(NSArray)getMembers:(NSArray)numbersInContacts;//Takes a list of phone numbers and returns an array of members that have the app installed
5-データをローカルに保存するために追加のエンティティ クラスが必要ですか? たとえば、ユーザーが現在所属しているグループの配列を持つ Mygroups というコア データ エンティティ クラスが必要ですか?
どうもありがとうございました