Swift

Swift:ふたつのviewを制御するサンプルコード

このサンプルコードを参考にすればふたつのviewを制御できます。

サンプルコードを見てもらったほうが手っ取り早いと思いますが、ポイントは次の通りです。サンプルコードはここにあります

  • Main-2nd view間(クラス間)のデータの受け渡しは、サブクラスからの直接参照はNGで、representedObjectを使った参照ならOK。
  • Main-2nd viewクラス間で共有する変数は共有する子クラス(この場合はcommonArea)に定義する。
  • Mainでは、representedObjectを使って、main viewと2nd viewを接続する。実際はクラスのアドレス接続による。
  • Mainでは、action-modalを定義したボタンを自動的にキックする。
  • storyboardの接続の仕方に注意すること。

サンプルコードには次の機能を追加しました。

main view
(手動) main viewのaction-modalが設定されているボタンを押すと、2nd viewを起動。
(自動) main viewのIBActionに接続されているボタンを押すと、IBActionの処理をしたあとに、2nd viewを自動的に起動(main viewのaction-modalが設定されているボタンをプログラムでキック)。

2nd view
IBActionに接続されているボタンを押すと、呼び出し前後で値が意図通りに保存されているかどうかトレース。

追記:アプリの修正もこのサンプルコードに準じ、修正しました。意図通り、動いています。

Categories: Swift, 技術