swift - 函数设计为每 15 次单击执行一次,但始终在第一次单击时执行
问题描述
我有一个计数器,用于在用户每次点击“再次播放”时显示一个广告。在第 15 场比赛中,他们得到了一个广告。问题是它总是在第一次点击后显示一个广告(函数运行),然后它遵循 15 点击逻辑。我想解决这个问题,因为广告在游戏中来得太早了。这是我的代码:
@objc func playAgain(_ sender: Any) {
if counter % 15 == 0 {
if Appodeal.isReadyForShow(with: .interstitial) {
Appodeal.showAd(AppodealShowStyle.interstitial, rootViewController: self)
} else {
let storyboard = UIStoryboard(name: "Main", bundle: nil)
let controller = storyboard.instantiateViewController(withIdentifier: "HouseAd")
self.present(controller, animated: true, completion: nil)
print("Ad wasn't ready")
}
}
counter += 1
}
我希望它在每 15 次点击后显示,但它总是在第一次点击后运行,然后遵守逻辑。
解决方案
增加counter
beforeif
语句的值,因此在第一次单击后出现条件的值将是 1 而不是 0(0%15==0
返回true
)。每次计数器为 15 时,您也可以将值更改为 0,然后您可以比较两个数字:
counter += 1
if counter == 15 {
counter = 0
...
}
推荐阅读
- ios - 尺寸检查器在 Xcode 中不起作用:没有显示选项
- sapui5 - UI5表中的条件列值
- amazon-web-services - AWS 文件错位
- vb.net - 用VB得到前一年的7月1日
- angular - 工作队列项目的最佳设计模式
- android - 在android中成功安装另一个应用程序后的回调
- mongodb - 在 Mongod 3.6.5 版本的 bindIp 配置选项中使用多个 IP 地址时无法运行 MongoDB 服务器
- python - 什么时候打开要写入的文件的最佳方式是什么?
- sql-server - 找不到模块“mssql/msnodesqlv8”的声明
- android - 上下文菜单在回收站视图中不起作用