Как привести тип строка к целому числу

Как правильно выполнить такой код? Сейчас он выдает ошибку coalesce using '??' to provide a default when the optional value contains 'nil

var s = "5"
var num = Int(s) + 1
print(num)

P.S.: Посоветуйте, ключевые паттерны и библиотеки для реализации приложения работающего в онлайн режиме, подключающийся к серверу, подгружающая в локальную базу данных данные и способное работать после этого в офлайне. Использовать паттерн MVVM, а локальную бд делать на основе Core Data?


Ответы (1 шт):

Автор решения: Frehzy
let s = "50"
let firstInt = Int(s) ?? 0

т.к. строка может содержать внутри себя нечто, что не будет числом (например, "StackOverflow"), необходимо указать, что вы хотите принудительно задать значение. Для этого используется 0.

Так же, можно использовать

let firstInt = (s as NSString).integerValue

Другой пример: Преобразуем строку в double

let firstDouble = (s as NSString).doubleValue

По ссылке, которую я приложил выше (https://stackoverflow.com/questions/24115141/converting-string-to-int-with-swift), представлено множество примеров, как сделать это

Касаемо MVVM паттерна снято множество видео. Один из примеров - https://youtu.be/2yMtKZb-BO0

→ Ссылка