我正在尝试创建一个返回s字符串值的函数,它不使用输入值。代码在函数之外成功测试。我得到这个编译器错误:
意外的非空返回值。
Func GetPickerDate () {
var strDate: String
//do stuff here to obtain result string
return strDate
}
答案 0 :(得分:1)
所以swift中的函数是这样编写的:
func <name> ( [param1, param2, ...]) -> <return type>
但是,当返回类型为Void
时,您可以忽略-> Void
。所以你经常会看到
func <name> ( [param1, param2, ...])
所以在你的情况下你需要的是
func getPickerDate () -> String {
var strDate: String
// do stuff
return strDate
}
答案 1 :(得分:1)
问题是你没有告诉它返回类型是什么。以下是apple的示例。这个函数有一个'person'输入,这是一个字符串,就像它在这里所说的那样(person: String)
和一个输出类型字符串的输出,就像它在这里所说的那样-> String
。
func greet(person: String) -> String {
let greeting = "Hello, " + person + "!"
return greeting
}
希望这有帮助!
答案 2 :(得分:-2)
请使用以下内容:
func GetPickerDate () -> String {
var strDate: String = ""
//do stuff here to obtain result string
return strDate
}