从swift中返回一个函数的多个值

如何从swift函数中返回3个相同types(Int)的独立数据值?

我试图返回一天的时间,我需要返回小时,分钟和秒作为单独的整数,但所有在一个去从相同的function,这可能吗?

我想我只是不明白返回多个值的语法。 这是我正在使用的代码,我遇到了最后(返回)行的麻烦。

任何帮助将不胜感激!

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 } 

返回一个元组:

 func getTime() -> (Int, Int, Int) { ... return ( hour, minute, second) } 

然后它被调用为:

 let (hour, minute, second) = getTime() 

要么:

 let time = getTime() println("hour: \(time.0)") 

也:

 func getTime() -> (hour: Int, minute: Int,second: Int) { let hour = 1 let minute = 2 let second = 3 return ( hour, minute, second) } 

然后它被调用为:

 let time = getTime() print("hour: \(time.hour), minute: \(time.minute), second: \(time.second)") 

这是如何在苹果公司编写的“Swift编程语言”一书中使用它的标准方法。

或者就像:

 let time = getTime() print("hour: \(time.0), minute: \(time.1), second: \(time.2)") 

这是一样的,但不太清楚。

你应该从这个方法中返回三个不同的值,并将这三个值作为一个variables。

 func getTime()-> (hour:Int,min:Int,sec:Int){ //your code return (hour,min,sec) } 

得到单个variables的值

 let getTime = getTime() 

现在你可以简单地通过“”来访问小时,分钟和秒钟。 即。

 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) } 

使用:

 let(hour, min,sec) = self.getTime() print(hour,min,sec)