在Swift 4中将可选字符串转换为Int

时间:2019-04-04 13:39:08

标签: swift

我试图从我的JSON文件中调用,其中变量是一个字符串,但是为了比较它,我希望它是一个整数,但是,每当我尝试使用此处的方法进行转换时,似乎都没有假设错误的语法即可正常工作。该行本质上是(pData.info?.nutriScore ?? 0)打印一个乐谱,但是它是一个字符串。

if let nScore = Int(pData.info?.myScore ?? 0) < 0 {
           //Other Code   
       }

4 个答案:

答案 0 :(得分:2)

if let nutriScore = pData.info?.nutriScore, let nScore = Int(nutriScore) {
   // your code here
}

答案 1 :(得分:1)

您需要

if let nScore = Int(pData.info?.myScore ?? "0" ) , nScore > 0 {

}

答案 2 :(得分:1)

if let nScore:Int = Int(pData.info?.nutriScore ?? "0") {
        if nScore < 0 {
            print(nScore)
        }
    }

答案 3 :(得分:1)

避免使用??默认值

是的,您的对象中没有值,因此您传递的默认值并不意味着默认值为您的真实数据。

    if let b = pData.info?.myScore, let nScore = Int(b) , nScore >= 0{
        print(nScore)
    } else {// handle negative logic}