如何让用户仅执行有限次数的特定操作?

时间:2013-11-08 19:28:34

标签: ios objective-c nsuserdefaults

例如,我有以下方法允许用户将某些内容发布为广告,但我想限制执行此操作的次数。我有以下代码:

-(void)submitActivity{

  if (numberOfTimesSubmitted > 3){

      //Alert the user that they must pay for additional postings

  }else{

      //submit activity method
   }
}

我认为我有基本的整体概念,但我不确定如何跟踪用户执行特定操作的次数。我可以在NSUserDefaults中保存吗?有什么想法吗?

2 个答案:

答案 0 :(得分:3)

NSUserDefaults仅在安装应用时进行维护。删除应用程序时,默认值也是如此。如果您想要删除应用程序,那么您应该将计数存储在钥匙串中(删除应用程序时不会删除钥匙串)。

可以说你应该有一个用户帐户,因此计数可以分布在多个设备上。

答案 1 :(得分:2)

如果您尝试在两次运行之间保持,那么是NSUserDefaults是您正在寻找的。如果你只想坚持个人跑步,那么你可能只想要一个@property的课程。最后,如果您要存储敏感数据,则需要使用Keychain apis。

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
[defaults setObject:firstName forKey:@"firstName"];
[defaults synchronize];

要恢复数据:

 NSString *firstName = [defaults objectForKey:@"firstName"];

或者,如果您想尝试使用云后端,可以使用ParseiCloud Key-Value Store等,或者您自己的。{/ p>