Как вернуть 3 отдельных значения данных одного и того же типа (Int) из функции в swift?
Я пытаюсь вернуть время суток, мне нужно вернуть Час, Минуту и Секунду в виде отдельных целых чисел, но все ли в одном переходе от одной и той же функции, возможно ли это?
Я думаю, что я просто не понимаю синтаксис для возврата нескольких значений. Это код, который я использую, у меня проблемы с последней (возвратной) строкой.
Любая помощь будет принята с благодарностью!
func getTime() -> Int
{
let date = NSDate()
let calendar = NSCalendar.currentCalendar()
let components = calendar.components(.CalendarUnitHour | .CalendarUnitMinute | .CalendarUnitSecond, fromDate: date)
let hour = components.hour
let minute = components.minute
let second = components.second
let times:String = ("\(hour):\(minute):\(second)")
return hour, minute, second
}
Ответы:
Вернуть кортеж:
Тогда это вызывается как:
или:
источник
Также:
Тогда это вызывается как:
Это стандартный способ его использования в книге «Язык программирования Swift», написанной Apple.
или просто так:
это то же самое, но менее ясно.
источник
the right answer can't compile right in swift 2.0
: неправильно, возвращение безымянного кортежа в Swift 2 работает так же, как и в Swift 1. Смотрите этот скриншот .time.hour
больше не будет работать Пожалуйста, обновите код.Вы должны вернуть три разных значения из этого метода и получить эти три в одной переменной, как эта.
получить значение в одной переменной
теперь вы можете получить доступ к часам, минутам и секундам просто с помощью "." то есть.
источник
Swift 3
Использовать :
источник
Обновление Swift 4.1
Здесь мы создаем структуру для реализации использования Tuple и проверки длины текста OTP. Это должно быть 2 поля для этого примера.
Использование:
Надеюсь, поможет!
Спасибо
источник
источник