在DispatchQueue下找不到某些实例方法

时间:2018-03-31 09:49:03

标签: swift

func calculator (yourName : String, theirName : String) -> String {


let score = 90

if score > 80 {
    return "Higher than 80%"
}

else {
    return "Lower than 80%"
}

return score    //Error 
}

由于得分不是字符串,我收到此错误:

Cannot convert return expression of type 'Int' to return type 'String'

我已经看到了要求将值返回到一行的解决方案。但是,在这种情况下它不起作用,因为只需要返回一个值...

我该如何解决这个问题?

3 个答案:

答案 0 :(得分:0)

该问题与DispatchQueue无关。

Swift是一种具有强大类型系统的语言。返回类型为StringscoreInt,这是类型不匹配。

您可以返回Int

的字符串表示形式
return String(score)  

然而,根据给定的逻辑,实际上永远不会达到这条线,所以只需删除它。

<击> return score

答案 1 :(得分:0)

您可以更新以下代码

func calculator (yourName : String, theirName : String) -> String {


let score = 90

if score > 80 {
    return "Higher than 80%"
}

else {
    return "Lower than 80%"
}

return "\(score)"    //Error 
}

答案 2 :(得分:0)

只需在代码中添加return "\(score)"而不是return score