あるべるのIT関連メモ

素人エンジニアが何かするときに困ったものなどを参考程度にメモっておこうかと

StoryboardでのCustom Class設定

Unknown class "MyDetailViewController" in Interface Builder file

Master-Detail ApplicationでDetailViewControllerをカスタマイズ、
自作のMyDetailViewControllerを使用しようとしたところ
Master側のTableViewCellをタップした瞬間上記のエラーを吐いて落ちる。

ググるとMyDetailViewControllerがビルド対象になっていないと
上記のようなエラーが出る(*1)との情報が出てくるのだが、
調べてみてもそんなことはなく、きちんとCompile Sourcesに名前がある。

色々と見ていると
StoryboardのDetail SceneのCustom Class指定が
デフォルトのDetailViewControllerのままだったというオチ(*2)。
Custom Class指定をMyDetailViewControllerに変更して無事通過。

かなりの時間ハマったのでメモっておく。

(*1)プロジェクトのBuild Phases > Compile Sourcesに登録されているファイルがビルド対象となる

(*2)一番最初に疑ったのだが、最初に調べたときはCustom Classの指定を見つけられなかった。
DetailViewControllerには一面のUIViewが貼付けてあるのでStoryboard上をテキトーにクリックしただけではDetailViewControllerのPropertyを開けていなかったようだ。