如何修复方法 'initialize()' 定义了 Objective-C class 方法 'initialize',这在 Swift 4 中的 Swift 是不允许的?
How to fix Method 'initialize()' defines Objective-C class method 'initialize', which is not permitted by Swift in Swift 4?
我正在将我的应用程序从 Swift 3 更新到 Swift 4,迁移后出现一些错误。其中之一是 IQKeyboardManager
的 IQToolbar 中的 Method 'initialize()' defines Objective-C class method 'initialize', which is not permitted by Swift
,如何解决这个问题?
- 你也可以使用单例解决这个问题如:
static let shared : AudioTools = {
[=10=].initialize()
return [=10=]
}(AudioTools())
你的Objective-C方法--->初始化
override class func initialize(){code here}
变化:
func initialize(){code here}
你的方法在这里:
func playSound(fileName:String?) {
code here
}
在 Swift3 中使用:
let audioPlayer = AudioTools.playMusic(fileName: fileName)
在 Swift4 中使用
let audioPlayer = AudioTools.shared.playMusic(fileName: fileName)
我正在将我的应用程序从 Swift 3 更新到 Swift 4,迁移后出现一些错误。其中之一是 IQKeyboardManager
的 IQToolbar 中的 Method 'initialize()' defines Objective-C class method 'initialize', which is not permitted by Swift
,如何解决这个问题?
- 你也可以使用单例解决这个问题如:
static let shared : AudioTools = {
[=10=].initialize()
return [=10=]
}(AudioTools())
你的Objective-C方法--->初始化
override class func initialize(){code here}
变化:
func initialize(){code here}
你的方法在这里:
func playSound(fileName:String?) {
code here
}
在 Swift3 中使用:
let audioPlayer = AudioTools.playMusic(fileName: fileName)
在 Swift4 中使用
let audioPlayer = AudioTools.shared.playMusic(fileName: fileName)