Ios Swift 3.0:参数标签';(389;:)不匹配任何可用的重载
我刚转换成Swift 3,我需要帮助解决这个错误。我昨天转换成swift 3时出现了这个错误,完整的代码运行得很好。我试一试?在它里面,但它根本没有修复错误,它保持不变Ios Swift 3.0:参数标签';(389;:)不匹配任何可用的重载,ios,swift,sprite-kit,swift3,avaudiosession,Ios,Swift,Sprite Kit,Swift3,Avaudiosession,我刚转换成Swift 3,我需要帮助解决这个错误。我昨天转换成swift 3时出现了这个错误,完整的代码运行得很好。我试一试?在它里面,但它根本没有修复错误,它保持不变 import Foundation import AVFoundation class AudioHelper: NSObject, AVAudioPlayerDelegate { var player : AVAudioPlayer? class var defaultHelper : AudioHelp
import Foundation
import AVFoundation
class AudioHelper: NSObject, AVAudioPlayerDelegate {
var player : AVAudioPlayer?
class var defaultHelper : AudioHelper {
struct Static {
static let instance : AudioHelper = AudioHelper()
}
return Static.instance
}
override init() {
super.init()
}
func initializeAudio() {
let url = NSURL(fileURLWithPath: NSBundle.mainBundle().pathForResource("", ofType: "")!)
self.player = try! AVAudioPlayer(contentsOfURL: url, fileTypeHint: nil)
self.player?.numberOfLoops = -1
self.player?.play()
}
func stopAudio() {
self.player?.stop()
self.player?.prepareToPlay()
}
func startAudio() {
AVAudioSession.sharedInstance().setActive(true, error: nil)
self.player?.play()
}
func audioPlayerDidFinishPlaying(player: AVAudioPlayer, successfully flag: Bool) {
AVAudioSession.sharedInstance().setActive(false, error: nil)
}
}
您可以通过以下方式处理异常:
do {
try AVAudioSession.sharedInstance().setActive(true)
} catch {
}
未捕获:
try? AVAudioSession.sharedInstance().setActive(true)
错误图像查看方法
setActive(:)
——它抛出而不是获取错误参数。因此,只要删除错误参数并在调用前加上一个try?
,如果你不在乎抛出错误的话。也可能更好的是复制目标。这对我的回答没有帮助,它是不同的。@Hamish说更改Avaudiossiom.sharedInstance().setActive的两个实例(false,错误:nil)
到试试?AVAudioSession.sharedInstance().setActive(false)
自签名在Swift 3中更改后