[Xcode]クラス間でデータをやり取りするならAppDelegateがおすすめ

Origin 323784972
photo credit: yllan via photopin cc

ボーノです。

クラス間でのデータのやり取りは意外と難しい。
AppDelegateを使うと、わりと感覚的に、且つシンプルに実装できる。 更には、この方法はクラス同士が親子関係になくても使えるので便利。

クラス間でデータをやり取りする方法

簡単に言うと、AppDelegateクラスを仲介させて、データの受け渡しをする。
重要な部分のみ抜粋。

まずはAppDelegateに、受け渡し用の変数の用意。

AppDelegate

AppDelegate.h

AppDelegate.m

次に、データの受け渡し元のクラスをいじる。
ここでは、画面が消えた時にitemViewControllerのtitleを渡すようにしている。

AppDelegateのインスタンスは少し変わった作り方なので注意。

ItemViewController

ItemViewcontroller.h

ItemViewcontroller.m

最後に、データの受け取り先での処理を書くだけ。

MainViewController

MainViewController.h

MainViewController.m

参考サイト

下記サイトがすごい分かりやすかった。

[XCode]親子関係じゃないView間で値の受け渡しをする方法 | Exception Code.