В Swift в отличие от Objective C, вы должны явно позволить компилятору знать, что переменная может быть «ноль» в будущем, пометив эту переменную как опция (?).
toInt()
метод также возвращает «необязательное целочисленное значение», что означает, что метод toInt()
также может возвращать значение «nil», если он не может преобразовать поставленное строковое значение в целочисленное значение.
Здесь вы разворачиваете дополнительную стоимость Int с помощью allowance!
. Но прежде чем разворачивать необязательное значение, вы должны проверить, не является ли необязательное значение «ноль».
func getAllowanceDue() -> Int {
if let allowance = anotherString.toInt() {
return allowance
}
return -1
}
Проверив if let allowance = anotherString.toInt()
мы фактически используя концепцию Optional Binding в Swift, чтобы проверить, содержит ли факультативное значение.
@richbrz: Это решение работает для вас? – tek3
Да, я очень ценю своевременный ответ. – richbrz