如何将每X次点击触发动作的Objective-C代码转换为Swift代码
Objective-C 代码转 Swift 实现
首先完成前置准备:
- 定义全局常量替换原宏定义:
let ADS_INTERSTITIAL_ON_LOBBY_FREQUENCY = 5 - 打开项目 Build Settings,找到「Swift Compiler - Custom Flags」分类下的「Active Compilation Conditions」,添加
ADS_INTERSTITIAL_ON_LOBBY_FREQUENCY编译标记,对应原有#ifdef的条件编译逻辑
转换后的完整 Swift 代码如下:
#if ADS_INTERSTITIAL_ON_LOBBY_FREQUENCY let prefs = UserDefaults.standard var nbShownLobby = prefs.integer(forKey: "nShownLobby") nbShownLobby += 1 prefs.set(nbShownLobby, forKey: "nShownLobby") // 提示:Swift 中 UserDefaults 的 synchronize() 方法已废弃,系统会自动完成数据同步,无需手动调用 if nbShownLobby % ADS_INTERSTITIAL_ON_LOBBY_FREQUENCY == 0 { // 此处填入你的自定义业务逻辑 } #endif
额外说明:
- 原 Objective-C 中的
[NSUserDefaults standardUserDefaults]对应 Swift 中的UserDefaults.standard - Swift 默认采用小驼峰命名规则,原变量名
nb_shown_lobby调整为nbShownLobby符合Swift编码规范,你也可以保留原有命名方式,不会影响功能运行
内容的提问来源于stack exchange,提问作者DannyRoy
相关产品推荐
相关产品推荐

