问题描述
|
我调查了一些帖子,并看到了一些相关的帖子,但我仍然不明白。
我的应用是评级系统。我想存储用户对其评分的帖子,以便他/她无法再次评分。每个帖子都有一个ID。我应该怎么做?
解决方法
如果评级发生在本地,则应调查CoreData来存储Post对象以及用户评级。然后,您可以使用帖子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
,将帖子ID和等级存储在数据库或nsuserdefaults中非常简单,并检查ID是否已被评级限制用户再次评级。