Как привести тип строка к целому числу
Как правильно выполнить такой код? Сейчас он выдает ошибку 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 шт):
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