Swift3 モデルで渡す 忘備録
目的
別画面にイベントの一覧が表示されている。
そこに、テキストの文字列だけでなく、人物に紐付いたデータを渡したい。
理由
そこからECサイトにアクセスする際に、人物から表示するサイトのデータを変更したい。
クラスの作成 初期化も行う。 初期化するのでオプショナル型は必要ないが、人物だけは、データ持たない可能性もある。 そこでオプショナル型で宣言する。 初期化時には、nilを入れる。 swiftは一番最後の引数に初期値があるときは、引数を省略できるので、引数の最後にpersonを指定する。
class EventToShow{ var person:Person? var event:String var date:String init(date:String, event:String, person:Person? = nil){ self.date = date self.event = event self.person = person } }
関数の戻り値をEventToShow型の配列にする。 classは型 初期化もしないといけない。
static func searchEventperson(monthRange:Int) -> [EventToShow]
各関数の詰め込み時には、オブジェクトを作成し、渡してあげる。
eventsToShows.append(EventToShow(date: dateFormater.string(from: eventdate!), event: birthdayEvent, person:person))
最後に日付順でソートして返してあげる。
eventsToShows.sort(by: {$0.date < $1.date}) print(eventsToShows) return eventsToShows