7

我正在将我的应用程序从 Swift 3 更新到 Swift 4,迁移后出现一些错误。其中之一Method 'initialize()' defines Objective-C class method 'initialize', which is not permitted by Swift在 IQToolbar 中IQKeyboardManager,如何解决这个问题?

4

1 回答 1

1

- 你也可以使用 Singleton 解决这个问题,例如:

    static let shared : AudioTools = {
           $0.initialize()
           return $0
       }(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) 
于 2017-06-13T06:01:51.077 回答