使用 NSUserDefaults 在 SWIFT 中添加 24 小时倒计时器

2024-02-19

我正在尝试添加一个计时器,当用户单击按钮时,它会启动 24 小时计时器并在接下来的 24 小时内禁用该按钮。之后再次启用。对于类似的事情,有一些答案,但对于在 SWIFT 中执行此操作并不是 100% 有用。

我遇到的主要问题是我希望这是针对每个用户的。因此,该用户的每次点击都是 24 小时。举例来说:如果我“喜欢”某件事,那么您希望能够在 24 小时内再次“喜欢”该特定事物,但仍然可以“喜欢”另一件事?

Thanks


*

适用于 Swift 3

*

我有一个每日视频广告,我的用户可以观看它以获得额外的现金。我用它来确保他们每天只能查看一次。

1.) 创建一个当用户触发它时将被调用的函数。

func set24HrTimer() {
    let currentDate = NSDate()
    let newDate = NSDate(timeInterval: 86400, since: currentDate as Date)

    UserDefaults.standard.setValue(newDate, forKey: "waitingDate")
    print("24 hours started")

    //disable the button

}

2.) 在文件顶部创建一个变量。

let todaysDate = NSDate()

3.) 在viewDidLoad or didMoveToView call:

if let waitingDate:NSDate = UserDefaults.standard.value(forKey: "waitingDate") as? NSDate {
        if (todaysDate.compare(waitingDate as Date) == ComparisonResult.orderedDescending) {
            print("show button")

        }
        else {
            print("hide button")

        }
    }
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 NSUserDefaults 在 SWIFT 中添加 24 小时倒计时器 的相关文章

  • 快速将数据从 tableviewcontroller 传递到另一个 tableviewcontroller

    我有一个正在创建的表单 该表单填充有用户输入的文本字段 回答完所有问题后 会弹出一个保存按钮 我在使此表视图控制器将数据传递到新的表视图控制器时遇到问题 我被困住了 不知道该怎么做 import UIKit class TableViewC
  • 将用户重定向到 iTunes 应用商店或 Google Play 商店?

    我正在寻找一种简单的解决方案来发布我的应用程序的一个链接 例如在 Facebook 上 如果用户使用移动设备访问它 它应该自动重定向到正确的应用程序商店 否则 用户应该被重定向到我的网站 iOS应用程序 http itunes apple
  • 使用 UINavigationController 从右向左推送 ViewController

    大家都知道UINavigationController从左到右推送ViewController 有没有办法从右到左推送View 就像后退按钮的动画一样 现在我有这个 self navigationController pushViewCon
  • 即席分发失败

    我在一家大公司工作 正在开发一个适用于 iOS 5 的 iOS 应用程序 分发应用程序的唯一方式是通过临时部署 我拥有自己的服务器已经有一段时间了 由 o2switch 法国托管商 托管 当我开始开发时 我们使用它来部署应用程序以进行 Be
  • 让约束在尺寸类别中发挥作用

    所以 我正在 Xcode 6 beta 中尝试尺寸类 我对图像设置了一些限制 使其根据 iPhone 纵向和横向对应的尺寸类别处于不同的位置 这些限制在下图中可见 正如您所看到的 当我处于紧凑 紧凑状态时 一些约束被 安装 而其他约束则没有
  • UIAlertView 中的 MPVolumeView?

    是否可以将 MPVolumeView 放入 UIAlertView 中 我已经尝试过put它在里面 但不显示 这可能是sizeToFit or initWithFrame 部分 有没有办法测试是否MPVolumeView实际上正在被创建吗
  • 如何使用 HTTP 标头发送非英语 unicode 字符串?

    我是 HTTP 相关问题的新手 我的问题是在 iOS 开发中 我想使用 HTTP 标头发送一个字符串 所以我使用 httpRequest setValue nonEnglishString forHTTPHeaderField custom
  • 使用 iOS 设备作为 TCP 客户端 - 无 Bonjour

    我想使用 iOS 设备作为 TCP 客户端 但我找不到可理解的 API 指南 示例来说明如何做到这一点 我试过SimpleNetworkStreams and PictureSharing 但他们都使用 Bonjour 我可以轻松建立 UD
  • 为什么 iOS 5.0 不喜欢纯窗口应用程序?为什么它要求使用视图控制器?

    我有一个使用 Xcode 4 0 的 基于窗口的应用程序 模板创建的 iOS 应用程序 当时运行良好 并且使用的是 iOS 4 3 SDK 这是一个简单地将按钮 标签等直接放置到窗口上的应用程序 没有视图控制器 什么都没有 但现在我已经升级
  • UITextInput setMarkedText:selectedRange 不起作用? (不可能!)

    我想以编程方式设置标记的文本 并且由于 iOS5 UITextView 和 UITextField 符合 UITextInput 这应该是可能的 但由于某种原因我总是得到markedText为零 我在这里缺少什么 这是我尝试过但没有成功的方
  • SDWebImage 显示缓存中图像的占位符

    在 iOS 5 1 项目 iPad 中使用 SDWebImage 3 我们展示相当大的图像 700x500 并且我们有很多图像 1000 我们预取图像并缓存到磁盘 然后允许用户浏览它们 效果很好 除了当您浏览图像时 您总是会看到占位符显示一
  • 带约束的 Swift 动画

    是否可以通过改变约束来制作 UIView 动画 基本上 我想要动画myv UIView 具有 x y 高度和宽度约束 使用 UIView animateWithDuration 1 5 通过改变旧的限制 是的 这是可能的 你可以这样做 fu
  • Apple Mach-O 链接器错误 armv7s 和 libGoogleAdMobAds.a

    我刚刚升级了我的应用程序以在新的 iPhone5 模拟器上运行 但是当我尝试为我的 iPhone 4S 设备构建它时 我收到此 Apple Mach O Liner 错误 ld 文件是通用的 3片 但不包含 n armv7s 切片 User
  • iPhone,如何将一张图像叠加到另一张图像上以创建要保存的新图像? (水印)

    基本上 我想拍摄用户从照片库中选择的图像 然后应用水印 即右下角的三角形 上面有应用程序名称 我已经在 Photoshop 中用透明层制作了第二张图像 我尝试了一个函数 我不记得它的确切名称 但它涉及 CGIImages 和蒙版 这将两个图
  • 将 Facebook 图片 URL 上传到 Firebase 存储

    我正在尝试将用户的 Facebook 个人资料图片上传到 Firebase 存储 let dictionary result as NSDictionary let data dictionary objectForKey data let
  • 如何在 XCode5 中将部署目标更改为 5.1.1 [重复]

    这个问题在这里已经有答案了 我正在一个项目中工作 我需要支持 iOS 5 1 1 但在 部署目标 的下拉菜单中我没有 5 1 1 作为选项 我的问题是如何将 iOS 5 1 1 添加为部署目标 我将非常感谢你的帮助 如果您愿意 您可以在框中
  • 使用 NSOutlineView 作为文件系统目录浏览器的 Swift 代码

    我已经在这段 Swift 代码上苦苦挣扎了一段时间 但没有发现问题 代码 下面应该提供文件目录作为 NSOutlineView 的数据源 GUI 非常简单 只是一个带有 NSOutlineView 和 OutlineViewControll
  • 更新查询时 ios 中出现“数据库锁定”错误

    我正在使用下面的代码更新查询 using sqlite 但我越来越 database is locked error 我尝试搜索一些 SO 链接 建议关闭数据库 但我再次执行此操作时遇到相同的错误 我已经提到过代码中出现错误的地方 cons
  • 您可以严格泛型类型或为一个参数指定多个类型吗?

    例如我想指定一个类型可能是Integer or String并将其用作特殊类型func我试过typealias但它不会解决这个问题 因为类型别名不能有or参数作为其唯一用途 因此请考虑下面的情况 typealias alis StringP
  • 如何将 NSAppTransportSecurity 添加到 Cordova 项目

    我正在从事一个 ionic cordova 项目 该应用程序需要配置 iOS 9 版本的应用程序传输安全例外 有谁知道如何将以下配置添加到 cordova 项目配置文件中 配置 xml

随机推荐