iOS:为用户保存nsmutablearray

时间:2011-05-24 04:57:40

标签: ios

我已经查看了一些帖子并看到了一些相关的帖子,但我仍然没有得到它。

我的应用是一个评级系统。我想存储用户评分的帖子,以便他/她不能再评价。每个帖子都有一个ID。我应该怎么做呢?

2 个答案:

答案 0 :(得分:0)

在数据库或nsuserdefaults中存储帖子ID和评级非常简单,并检查id是否已被评级,限制用户再次评级。

答案 1 :(得分: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