Swift 4 also introduces Tuples type, which are used to group multiple values in a single compound Value. The values in a tuple can be of any type, and do not need to be of same type. For example, ("Tutorials Point", 123) is a tuple with two values, one of string Type, and other is integer type. It is a legal command.
on the -> View return type.
Return a tuple:
func getTime() -> (Int, Int, Int) {
...
return ( hour, minute, second)
}
Then it's invoked as:
let (hour, minute, second) = getTime()
or:
let time = getTime()
println("hour: \(time.0)")
Also:
func getTime() -> (hour: Int, minute: Int,second: Int) {
let hour = 1
let minute = 2
let second = 3
return ( hour, minute, second)
}
Then it's invoked as:
let time = getTime()
print("hour: \(time.hour), minute: \(time.minute), second: \(time.second)")
This is the standard way how to use it in the book The Swift Programming Language written by Apple.
or just like:
let time = getTime()
print("hour: \(time.0), minute: \(time.1), second: \(time.2)")
it's the same but less clearly.
you should return three different values from this method and get these three in a single variable like this.
func getTime()-> (hour:Int,min:Int,sec:Int){
//your code
return (hour,min,sec)
}
get the value in single variable
let getTime = getTime()
now you can access the hour,min and seconds simply by "." ie.
print("hour:\(getTime.hour) min:\(getTime.min) sec:\(getTime.sec)")
Swift 3
func getTime() -> (hour: Int, minute: Int,second: Int) {
let hour = 1
let minute = 20
let second = 55
return (hour, minute, second)
}
To use :
let(hour, min,sec) = self.getTime()
print(hour,min,sec)
Update Swift 4.1
Here we create a struct to implement the Tuple usage and validate the OTP text length. That needs to be of 2 fields for this example.
struct ValidateOTP {
var code: String
var isValid: Bool }
func validateTheOTP() -> ValidateOTP {
let otpCode = String(format: "%@%@", txtOtpField1.text!, txtOtpField2.text!)
if otpCode.length < 2 {
return ValidateOTP(code: otpCode, isValid: false)
} else {
return ValidateOTP(code: otpCode, isValid: true)
}
}
Usage:
let isValidOTP = validateTheOTP()
if isValidOTP.isValid { print(" valid OTP") } else { self.alert(msg: "Please fill the valid OTP", buttons: ["Ok"], handler: nil)
}
Hope it helps!
Thanks
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With