gpt4 book ai didi

swift - 为什么 ReturnType 在此 Swift 函数中不起作用?

转载 作者:行者123 更新时间:2023-11-28 13:38:53 26 4
gpt4 key购买 nike

我在 Xcode 10.2.1 中使用 Swift 5

我在 UInt8 的扩展中有这个功能

编译器在第 5 行报错,unexpected non-void return value in void function

返回类型已正确定义,如果行 return "\(opCode)" 被注释,它工作正常,返回在最后一行 return "\(OpCode .NOP) 我正在使用 "\(OpCode.NOP)" 来避免向枚举添加另一个变量,但它是一个常规字符串

如果我将行更改为 return "",错误仍然存​​在,因此它与 OpCode 枚举无关。

extension UInt8 {
func opCode() -> String {
OpCode.allCases.forEach { opCode in
if self == opCode.uint8 {
return "\(opCode)" //Unexpected non-void return value in void function
//return "" // Error persists
}
}
return "\(OpCode.NOP)"
}
}

最佳答案

您不能在 forEach 的 void 返回类型中返回一个值,而是尝试

extension UInt8 {
func opCode() -> String {
if let item = OpCode.allCases.first(where:{ self == $0.uint8 }) {
return "\(item)"
}
return "\(OpCode.NOP)"
}
}

关于swift - 为什么 ReturnType 在此 Swift 函数中不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56283594/

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