戻り値を宣言する
メソッド宣言時の戻り値部でメソッド名()->(Data型1,Data型2,Data型3...)の様に記述をすると
複数のデータを1つのメソッドで返すことができる。
//日付取得メソッド
func getDate() -> (String, String, String, String){
//操作日取得(yyyy-MM-dd)
let date = Date()
let formatter = DateFormatter()
formatter.setLocalizedDateFormatFromTemplate("yMd")
//日付計算
let dayFromToday = Calendar.current.date(byAdding: .day, value: -7, to: date)!
let weekFromToday = Calendar.current.date(byAdding: .weekday, value: -7, to: date)!
let monthFromToday = Calendar.current.date(byAdding: .month, value: -7, to: date)!
let today = formatter.string(from: date);
let DayFromToday = formatter.string(from: dayFromToday);
let WeekFromToday = formatter.string(from: weekFromToday);
let MonthFromToday = formatter.string(from: monthFromToday);
return (today,DayFromToday,WeekFromToday,MonthFromToday)
}
//日付呼び出しメソッド
func viewDatePeriod(today:String,DayFromToday:String,WeekFromToday:String,MonthFromToday:String) {
//処理〜〜〜
}
また、呼び出す際には以下のように取得したデータを割り振る必要がある。
var date = getDate()
viewDatePeriod(today: date.0,DayFromToday: date.1,WeekFromToday: date.2,MonthFromToday: date.3)
データに名前をつける
上記では、data.0など分かりづらいので以下の様にして宣言をすると呼び出し時に迷うことなくコーディングすることができる。
//データ選択時の呼び出しメソッド
func viewDatePeriod(today:String,DayFromToday:String,WeekFromToday:String,MonthFromToday:String) {
//日付呼び出しメソッド
viewDatePeriod(today: date.today,DayFromToday: date.DayFromToday,WeekFromToday: date.WeekFromToday,MonthFromToday: date.MonthFromToday)