コンセプト:userA
はuserB
を報告すると、私はuserA
が繰り返し同じユーザーを報告することができないように、時間の期間のレポート]ボタンを無効にする必要があります。Disable]ボタンをタップiOSの
ソリューション:key
はString
report_userBId
とvalue
ようになるNSUserDefaultsでストアデータは、(タイプDouble
の)現在の日付から24時間のうち、タイムスタンプになります。このように、userA
が別のユーザーに報告するたびにuserA
がuserB
と報告されているかどうかを確認するために、NSUserDefaults
をチェックします。もしそうなら、私は現在の時刻が保存されたタイムスタンプより大きいかどうかチェックし、そうであればNSUserDefaults
からデータを削除し、ユーザーにレポートを送信させる。
私はまだ実際にこのソリューションを実装しておらず、これがNSUserDefaultsが最適なソリューションであるかどうかを知りたいのですか、Core Dataのようなものを使うべきですか?
私はそれが依存だと思います。すでにコアデータを使用して他のデータを保存している場合は、さらにタイムスタンプを保存することもできます。そうでなければ、そのような小さな要件のために少し残忍なことです - そして、NSUserDefaultsはもっと良いかもしれません。 – Russell
@Russell私は見る...このプロジェクトは、Core Dataを広範囲に使用します。報告されたユーザのタイムスタンプとidを含む 'Report'という名前のエンティティを作成し、(' NSSet'への型の) 'reports'属性を' User' Entityに追加しますか? –
@Russel、彼はそれを受け入れるように詳細な答えを書くべきです...私はCoreDataについてあまりよく分かりません..私にとってはあまりにも複雑です]] – Yitzchak