我已經看了幾篇文章,看到一些相關的帖子,但我仍然沒有得到它。iOS:爲用戶保存nsmutablearray
我的應用程序是一個評分系統。我想存儲用戶評分的帖子,所以他/她不能再次評分。每個帖子都有一個ID。我應該怎麼做呢?
我已經看了幾篇文章,看到一些相關的帖子,但我仍然沒有得到它。iOS:爲用戶保存nsmutablearray
我的應用程序是一個評分系統。我想存儲用戶評分的帖子,所以他/她不能再次評分。每個帖子都有一個ID。我應該怎麼做呢?
如果評分是在本地進行,您應該查看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
這很簡單,在數據庫或nsuserdefaults中存儲帖子ID和評級,並檢查ID是否已被評級,限制用戶再次評級。
這不應該是一個數組,而不是一個字符串?用戶將對多個帖子評分 – SuperString 2011-05-24 14:49:42
我這樣做的方式是,將帖子評分的NSNumber值保存在包含post_id(例如「post_34」)的特定於後期的鍵下。每個帖子一個NSNumber。 – samvermette 2011-05-24 15:20:32