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

Ios 如何让用户只执行有限次数的特定操作?,ios,objective-c,nsuserdefaults,Ios,Objective C,Nsuserdefaults,例如,我有下面的方法,允许用户发布一些东西作为广告,但我想限制可以执行的次数。我有以下代码: -(void)submitActivity{ if (numberOfTimesSubmitted > 3){ //Alert the user that they must pay for additional postings }else{ //submit activity method } } 我认为我已经了解了基本的总体概念,但我不确定如何

例如,我有下面的方法,允许用户发布一些东西作为广告,但我想限制可以执行的次数。我有以下代码:

-(void)submitActivity{

  if (numberOfTimesSubmitted > 3){

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

  }else{

      //submit activity method
   }
}

我认为我已经了解了基本的总体概念,但我不确定如何跟踪用户执行特定操作的次数。我能把它保存在NSUserDefaults中吗?有什么想法吗?

如果您试图在两次运行之间保持,那么您需要的是“是”
NSUserDefaults
。如果您只想在单个运行中持久化,那么您可能只需要类的
@属性
。最后,如果要存储敏感数据,则需要使用
Keychain
api

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
[defaults setObject:firstName forKey:@"firstName"];
[defaults synchronize];
要重新获取数据,请执行以下操作:

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

或者,如果您想尝试云后端,您可以使用或(除其他外)或您自己的。

NSUserDefaults
仅在安装应用程序时维护。删除应用程序时,默认设置也是如此。如果即使删除了应用程序,也要保留计数,则应将计数存储在密钥链中(删除应用程序时不会删除密钥链)


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

用户有帐户吗?即使删除并重新安装应用程序,计数也应该保持吗?是的,应该保持。是的,我想是的。对钥匙链包装器有什么建议吗?谢谢你,顺便说一句。我过去用过SSKeychain,很喜欢。这个API很简单,经过深思熟虑。是的,当然。实际上,我们将所有内容(用户名和密码)存储在服务器中,并对用户进行身份验证。我可能只需要拿出一个额外的字段来存储提交的数量。非常感谢。