gpt4 book ai didi

调用错误中的 Swift2 额外参数

转载 作者:搜寻专家 更新时间:2023-11-01 06:40:21 24 4
gpt4 key购买 nike

这段代码有问题我得到了这个错误

"Extra argument 'error' in call"

我标记了我发现错误的行。

@IBAction func sendChat(sender: UIButton) {
// Bundle up the text in the message field, and send it off to all
// connected peers

let msg = self.messageField.text!.dataUsingEncoding(NSUTF8StringEncoding,
allowLossyConversion: false)

var error : NSError?



self.session.sendData(msg!, toPeers: self.session.connectedPeers,
withMode: MCSessionSendDataMode.Unreliable, error: &error)


if error != nil {
print("Error sending data: \(error?.localizedDescription)")
}

self.updateChat(self.messageField.text!, fromPeer: self.peerID)

self.messageField.text = ""
}

最佳答案

在 Swift 2 之前,我们通常使用这样的语法:

var error: NSError?
session.sendData(msg!, toPeers: session.connectedPeers, withMode:.Unreliable, error: &error)
if error != nil {
print("Error sending data: \(error?.localizedDescription)")
}

Swift 2 错误处理范式采用do-try-catch(注意,没有error参数,因为错误现在被“抛出”,并在 catch block 中处理):

do {
try session.sendData(msg!, toPeers: session.connectedPeers, withMode: .Unreliable)
} catch let error as NSError {
print("Error sending data: \(error.localizedDescription)")
}

您在较新版本的 Xcode 中使用旧语法,因此编译器警告您不再需要此 error 参数。

请引用Error Handling The Swift Programming Language 一章。

关于调用错误中的 Swift2 额外参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36245610/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com