こんにちは。すっごい簡単なこと書きます。なぜなら簡単なことだけど、躓く人もいると思うから。ちなみに、ちょっと検索した所つまずいている人発見しました。ちなみに僕も最初つまずきました。。。わかればまぁ当たり前のことなんですけどね。多分、調べないでいきなりやるからつまずくんですね。
StaticCellsのセルのインスタンスを取得するには、InterfaceBuilderからピーッと線をhかmファイルまで引っ張れはUIViewなどと同じく参照が取れます。
せっかくなのでStaticCellsの便利さをアピールしながらこの辺りを説明してみたいと思います。
説明用のプロジェクトを作ってみました
1 プロジェクトを作成します。とりあえずSingle Window Applicationにしてみました。
2 UITableViewControllerを継承したテーブルビューコントローラを作成します。
3 UITableViewDataSource関連のコードをすべてコメントアウトします。使いません(使ってもいいですが)。
4 Storyboardにテーブルビューコントローラを追加します。遷移したあとの戻りが楽なのでナビゲーションコントローラに乗せました。
5 Identity InspectorからCustom Classを選び、先ほど作成したExampleViewControllerを作成します
6 Attributes InspectorのTableView > ContentからStatic Cellsを選択します。
7 Static Cellsからピーとmファイルまで線を伸ばします。僕はmファイルに伸ばしていますが、hファイルに伸ばしてもほぼ同じです。
8 セルのインスタンスを参照する変数ができました。
9 この変数をいろいろ操作すれば自由にセルをいじれます。
今回の例ではとりあえずviewDidLoad:の中でいじってみました。
10 9番のところで少し書きましたが、殆どコードを書かず画面の遷移が幾つもあるアプリが出来ました。
うまくやれば、ほとんどコードを書かずに簡単なアプリなら出来ちゃいそうですね。
一応タイトルのインスタンスを取得する流れを入れていますが、それは持ちろんやる必要がなければやらなくてもOKです。その場合、全くコードを書かなくてもここまでできちゃうことになります(今回の例の場合、すべてをInterface Builder側で作成出来ます)。(・∀・)イイネ!!
UITableViewCellを継承したオリジナルのセルを作成していた場合、Interface Builder側のCustomClassに入れれば、そのクラスのセルのインスタンスが取得出来ます。ちなみに、今回これをStaticCellsでこれをやりたかった理由は、自作セルの自作メソッドを動かしたかったからでした。
普段は設定ビューをStoryboardにしてによく使いますねー。
Githubを使いたいという目的もあり、今回のコードをGithubにあげてみました。詰まった方は参考にしてみてください。デフォルトのプロジェクトにExampleViewControllerのみ追加して、ExampleViewControllerとStoryboardしかいじっていません。ExampleViewControllerの中の不要なコードは削除してあります。