2011-05-24 7 views
-1

私はいくつかの記事を見て、それに関するいくつかの関連記事を見ましたが、まだそれは得られません。iOS:ユーザーのためにnsmutablearrayを保存する

私のアプリは評価システムです。ユーザーが評価した投稿を保存して、再度評価できないようにしたい各投稿にはIDがあります。これについてどうすればいいですか?

答えて

0

評価がローカルで行われている場合は、CoreDataを調べて、投稿のオブジェクトをユーザーの評価と一緒に保存する必要があります。その後、投稿IDを使用して店舗に問い合わせることで、既に評価されているかどうかを確認できます。

より軽量なアプローチ(私は推奨しませんが)は、ポストIDを含む一意のキーを使用してNSUserDefaultsに直接レーティングを保存することです。例:ユーザーがすでにポストを評価しているかどうかを知るために

NSNumber *rating = [NSNumber numberWithFloat:0.8]; 
NSString *postKey = [NSString stringWithFormat:@"post_%i", post_id]; 
[[NSUserDefaults standardUserDefaults] setValue:rating forKey:postKey]; 
[[NSUserDefaults standardUserDefaults] synchronize]; 

、あなたがそうするでしょう:

if([[NSUserDefaults standardUserDefaults] valueForKey:postKey] == nil) 
    // post has not been rated 
+0

はずのこの配列ではなく文字列で?ユーザーは複数の投稿を評価します – SuperString

+0

私がやったやり方では、post_id(例えば "post_34")を含むポスト固有のキーの下でポストレーティングのNSNumber値を保存します。投稿あたり1つのNSNumber。 – samvermette

0

post idとratingをデータベースまたはnsuserdefaultsに格納して、idがすでにレート指定されていると評価されているかどうかを確認するのは簡単です。

関連する問題