无需登录即可进行Downvote交互

时间:2012-03-24 08:52:54

标签: iphone objective-c uitableview

显示用户提供的数据的FML,TWI等应用程序能够对“我同意”,“我不同意”,“喜欢”,“不喜欢”这样的提交进行上调和下调。

无论用户是否以任何方式登录应用,用户都可以投票。匿名用户可以投票,并存储他们对该帖子/条目的投票。

当公共用户投票时,我在服务器数据库上增加投票数量没有问题,但是这些应用程序如何跟踪用户在他们的应用程序中的投票,以便他们不能一次又一次地给予投票。相同的项目,如果他们再次进入该提交,他们还可以直观地显示他们投票的方式?

我不会在我的服务器上存储用户投票的项目以及投票的方向,因为这些项目未在用户中注册/登录。

知道如何实现这个吗?

由于

2 个答案:

答案 0 :(得分:2)

您可以为每个设备创建一个唯一ID,并将该信息存储在您的服务器上,而不是在应用中存储每个评级项目。

从NSUserDefaults加载用户ID,如果它不存在,请创建一个新用户ID并保存。

NSString *userID = [[NSUserDefaults standardUserDefaults] objectForKey:@"UserID"];
if (!userID) {
    CFUUIDRef theUUID = CFUUIDCreate(NULL);
    userID = (__bridge_transfer NSString *)CFUUIDCreateString(NULL, theUUID);
    CFRelease(theUUID);
    [[NSUserDefaults standardUserDefaults] setObject:userID forKey:@"UserID"];
}

编辑:我错过了“向用户展示他们投票的方式”部分。因此,无论如何你必须将它存储在本地。

答案 1 :(得分:0)

每个项目都必须有某种ID吗?将其与您的投票一起保存在您的应用中。如果您的商店中存在该ID,请勿允许他们投票,如果该ID不存在,请允许他们投票。