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