2017-11-12 14 views
0

コンセプト:userAuserBを報告すると、私はuserAが繰り返し同じユーザーを報告することができないように、時間の期間のレポート]ボタンを無効にする必要があります。Disable]ボタンをタップiOSの

ソリューション:keyStringreport_userBIdvalueようになるNSUserDefaultsでストアデータは、(タイプDoubleの)現在の日付から24時間のうち、タイムスタンプになります。このように、userAが別のユーザーに報告するたびにuserAuserBと報告されているかどうかを確認するために、NSUserDefaultsをチェックします。もしそうなら、私は現在の時刻が保存されたタイムスタンプより大きいかどうかチェックし、そうであればNSUserDefaultsからデータを削除し、ユーザーにレポートを送信させる。

私はまだ実際にこのソリューションを実装しておらず、これがNSUserDefaultsが最適なソリューションであるかどうかを知りたいのですか、Core Dataのようなものを使うべきですか?

+1

私はそれが依存だと思います。すでにコアデータを使用して他のデータを保存している場合は、さらにタイムスタンプを保存することもできます。そうでなければ、そのような小さな要件のために少し残忍なことです - そして、NSUserDefaultsはもっと良いかもしれません。 – Russell

+0

@Russell私は見る...このプロジェクトは、Core Dataを広範囲に使用します。報告されたユーザのタイムスタンプとidを含む 'Report'という名前のエンティティを作成し、(' NSSet'への型の) 'reports'属性を' User' Entityに追加しますか? –

+1

@Russel、彼はそれを受け入れるように詳細な答えを書くべきです...私はCoreDataについてあまりよく分かりません..私にとってはあまりにも複雑です]] – Yitzchak

答えて

1

@Russelと間違いなく同意します。

このタスクにCoreDataを使用することは、ロケットで蚊を殺すようなものです!

あなたはすでに実装し、それを使用している場合、あなただけのNSDefaultsを使用し、それ以外の場合は、サポートを追加することは...

関連する問題