我有一个像这样声明的数组:
var myArray = [Int]()
我也有一个功能:
func myFunc(num:Int) -> [Int] {
return myArray.append(num)
}
我一直收到错误:“无法将类型'()'的返回表达式转换为返回类型'[Int]'”
有人可以向我解释发生了什么事吗?谢谢!
答案 0 :(得分:1)
方法myArray.append(num)
不会返回[Int]
类型的对象(它是无效的,这意味着它不会返回任何内容),因此您必须编写如下代码:
func myFunc(num:Int) -> [Int] {
myArray.append(num)
return myArray
}
答案 1 :(得分:1)
Swift reference声明Date
函数如下:
append
请注意,缺少返回类型,即声明中没有mutating func append(_ newElement: Element)
部分。这意味着->
不能在表达式中使用。
你需要做的是在一行上追加并在另一行上返回。
答案 2 :(得分:0)
我认为发生的事情是您尝试返回Array.append()的返回值,该值为null。相反,只需:
myArray.append(num)
return myArray