質問: ストーリーボード上でtableviewに設定した「Content」プロパティをコードから参照したいのですが、何か方法はあるでしょうか? 「Static Cells」であるか「Dynamic Prototypes」であるかを判定する処理を考えています。 どうぞよろしくお願いいたします。 ![](https://i.stack.imgur.com/4DsbR.png)
回答: Story Board上で設定できる`content`はプロパティではありません。 Story BoardはUIのクラスをシリアライズしますが、そのときどのようなデータソースを使うのかという違いがあるだけで、両者とも普通の`UITableView`なので、通常の方法では識別できません。 そもそもコード上での両者の実装は、まったく別のものになるはずですので、`content`の値を知る必要があるケースはないように思います。 Static Cellsの情報は`staticDataSource`という`UITableViewDataSource`が持っているので、それを利用した判定を書くこと自体はできるのですが、iOS SDKのPrivateな領域なので、実際に使える方法ではありません(リジェクトされる可能性が高い)。 ``` if self.valueForKey("staticDataSource") != nil { print("static") } else { print("dynamic") } ``` ### 参考 * Determine if UITableView has static cells or dynamic prototypes programmatically?