Преобразование необязательной строки в Int в Swift 4 - PullRequest
1 голос
/ 04 апреля 2019

Я пытаюсь сделать вызов из моего файла JSON, где переменная является строкой, однако, чтобы сравнить ее, я бы хотел, чтобы она была целым числом, однако всякий раз, когда я пытаюсь преобразовать ее с использованием методов, здесь ничего не кажется работать, предполагая неправильный синтаксис. По сути, эта строка (pData.info?.nutriScore ?? 0) печатает счет, однако это строка.

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

Ответы [ 4 ]

2 голосов
/ 04 апреля 2019
if let nutriScore = pData.info?.nutriScore, let nScore = Int(nutriScore) {
   // your code here
}
1 голос
/ 04 апреля 2019

Избегайте использования ?? значение по умолчанию,

Да, у вас нет значения в вашем объекте, поэтому вы передаете значение по умолчанию, которое не означает, что значением по умолчанию являются ваши реальные данные.

    if let b = pData.info?.myScore, let nScore = Int(b) , nScore >= 0{
        print(nScore)
    } else {// handle negative logic}
1 голос
/ 04 апреля 2019
if let nScore:Int = Int(pData.info?.nutriScore ?? "0") {
        if nScore < 0 {
            print(nScore)
        }
    }
1 голос
/ 04 апреля 2019

Вам нужно

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

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...