我已经看了几篇文章,看到一些相关的帖子,但我仍然没有得到它。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