繁体   English   中英

如何修复方法'initialize()'定义了Objective-C类方法'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,并且在迁移之后,存在一些错误。 其中一个是Method 'initialize()' defines Objective-C class method 'initialize', which is not permitted by Swift IQKeyboardManager的IQKeyboardManager Method 'initialize()' defines Objective-C class method 'initialize', which is not permitted by Swift不允许的,如何解决这个问题?

- 您也可以使用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) 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM