Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/122.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 延迟30分钟后不使用Swift_Ios_Swift_Xcode_Delay_Nsuserdefaults - Fatal编程技术网

Ios 延迟30分钟后不使用Swift

Ios 延迟30分钟后不使用Swift,ios,swift,xcode,delay,nsuserdefaults,Ios,Swift,Xcode,Delay,Nsuserdefaults,如何创建只允许用户使用swift每30分钟发布一次的程序?此延迟时间仅在应用程序正在运行时有效,而且不会在每次应用程序启动时工作或重新启动运行时间。我需要一种方法让他们只等30分钟。我现在的代码是: DispatchQueue.global(qos: .background) .async { DispatchQueue.main.asyncAfter(deadline: .now() + .seconds(1800)) {

如何创建只允许用户使用swift每30分钟发布一次的程序?此延迟时间仅在应用程序正在运行时有效,而且不会在每次应用程序启动时工作或重新启动运行时间。我需要一种方法让他们只等30分钟。我现在的代码是:

DispatchQueue.global(qos: .background) .async {
                DispatchQueue.main.asyncAfter(deadline: .now() + .seconds(1800)) {
                    UserDefaults.standard.set(false, forKey: "PostTimeLimit")
                }
            }

任何提示或解决方案都会非常有用。谢谢

存储用户的上次发布时间并将其与当前时间进行比较,而不是存储是否允许用户发布。

您必须存储您的上次发布时间戳。每次启动应用程序/进入前台时,您都必须检查时差。然后启动一个计时器,可能是为了计算当前时间和下一个post时间之间的时差。每次进入后台/或终止应用程序时,请停止此计时器。