【iOS】storyboardを使ったときの一つの解 〜少しでもきれいにプログラムを書きたい悪あがき〜
背景
よくプログラムを書くときは、MVCモデルが使われます。
一方で、Modelをどう伝搬させていくか、あるいは、Modelへのリンキングをどうするかが
いつも悩みの種になります。
特にstoryboardを使用してTabViewを使用するなんて場合は、
複数のViewControllerがあるため何かと悩みの種になります。
今回は、TabViewをstoryboard上で使用する場合、どうModelオブジェクトを取得するかに
焦点を当てて、一つの解を示します。
一つの解決策
UITabBarControllerをカスタマイズして、Modelを持たせるだけ
これが一つの解です。
解決策の理由
UIViewControllerには、プロパティとして、
tabBarController
というプロパティがあるのです。
つまり、タブ一つ一つに割り当てられるUIViewControllerではこれを使用して、
//get parent tabbar controller
var parent: CustomTabBarController = self.tabBarController as! CustomTabBarController
//get model from parent
var model: Model = parent.model
という風に記載すれば、Modelオブジェクトを取得出来るようになるわけです。
エンディング
いかがでしたでしょうか。
これは応用すれば、xibでも出来るかと思います。
これで、タブを使用する場合のModelの伝搬をどうするかについて悩まなくても良くなると
思います!!!
それではまた〜(^^)/
Author And Source
この問題について(【iOS】storyboardを使ったときの一つの解 〜少しでもきれいにプログラムを書きたい悪あがき〜), 我々は、より多くの情報をここで見つけました https://qiita.com/developerwaiwai/items/85daf7e3b2c2929cd7d2著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .