2011-05-24 58 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 2011-05-24 14:49:42

+0

我這樣做的方式是,將帖子評分的NSNumber值保存在包含post_id(例如「post_34」)的特定於後期的鍵下。每個帖子一個NSNumber。 – samvermette 2011-05-24 15:20:32

0

這很簡單,在數據庫或nsuserdefaults中存儲帖子ID和評級,並檢查ID是否已被評級,限制用戶再次評級。

相關問題