iOS
Swift

Propertyの値が変わったらTableViewの表示を変更

More than 3 years have passed since last update.


目的:

Propertyの値が変わったらtableViewの表示を変更する


環境:

Xcode Version 6.1.1


実装方針:

 swiftになってから導入されたdidSetを上手くつかって実装する。具体的にはPropertyの値が別のActionで変わったのをTriggerとしてtableViewのreloadをします。

 ViewControllerが肥大化するのを避ける為tableViewのDataSourceやDelegateは別で準備しておきます。


ソースコードと詳細説明


sample.swift

private var keyword:String!{

didSet{
self.tableView.delegate = self.tableSource
self.tableView.dataSource = self.tableSource
self.tableView.reloadData()
}
}

 サンプルではkeywordというpropertyが何かのActionで変化すると、それをtriggerとしてtableViewがreloadされる仕組みです。

 Objective-CではNotificationCenterで処理していましたがdidSetがあると便利ですね。