功能在Swift中不起作用

时间:2014-06-15 01:19:33

标签: ios swift swift-playground

所以我一直在努力学习一点Swift,而且我一直在寻找带有返回类型的函数。我添加了这个函数,它应该可以工作,但是我仍然得到错误"找不到成员' convertFromStringInterpolationSegment。'我已经查看了其他堆栈溢出问题,并试图应用他们的答案,但无济于事。一些帮助将不胜感激。

    func getGasPrices2(price1: Double, price2:Double, price3:Double)
{
    return "The prices are \(String(price1)), \(String(price2)), \(String(price3))."
}
getGasPrices2(3.59, 3.69, 3.79)

2 个答案:

答案 0 :(得分:3)

您忘记申报退货类型。由于您要返回String,因此该函数需要声明:

func getGasPrices2(price1: Double, price2:Double, price3:Double) -> (String)

我确信Apple会处理这些精彩的错误消息。 :)

答案 1 :(得分:0)

正如Alvin所说,你只是错过了返回类型

-> (String)

...在函数声明中。

我发现自己做了同样的事情,最后忘记了返回类型,因为我仍然习惯于在Swift中编写,同时具有Objective-C习惯的函数类型声明 -

...

基本上你在Swift中的功能......

func getGasPrices2(price1: Double, price2:Double, price3:Double) -> (String)

......相当于*到

-(NSString*)getGasPrices2: (double)price1 price2:(double)price2 price3:(double)price3

...在Objective-C *

* Swift中的字符串与NSStrings完全相同,但这两个函数都能够完成你想要做的事情;一个在Objective-C中,另一个在Swift中(只要你确保在结尾处实际返回一个String / NSString: - )