2011-05-24 56 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是否已被评级,限制用户再次评级。

相关问题