当返回类型是可选的时调用方法时显示消息

时间:2015-11-05 03:26:37

标签: xcode swift methods

load*

}

func bmiMetric(WithWeight w:Double, andHeight h:Double)->(b: Double?, m: String){ 
var bmi = 0.0
var message = "Cant compute BMI"

if h <= 0
{
    return (nil, message)
}

bmi = w/(h*h)

if(bmi > 29){
    message = "Obese"}
else if(bmi  > 25){ message = "Overweight" }
else if(bmi > 18.5){ message = "Normal" }
else{ message = "Underweight" }

return (bmi,message)


当我删除.b时!印刷品

BMI :(可选(23.6712536295922),“正常”)。

我不想打印出可选项,以便我可以做些什么来显示BMI和消息? 我想要它打印: BMI:(23.6712536295922,“正常”)。

P.S 我是Swift的新手,所以请不要回答。

1 个答案:

答案 0 :(得分:2)

鉴于您可以获得某些输入值的nil,我建议您改为:

if let b = comp.b {
    print("BMI:\(b), \"\(comp.m)\"")
} else {
    print("Cannot calculate BMI")
}