Storyboradで新規に画面を追加してCustom Classを割り当てようとしてもうまくいかない

By | 2014年6月24日

昔良くハマりましたので、今更ですが書き留めておきます。

 


具体的にはStoryboradで新規に画面を追加した後、当該画面用に準備したクラス(ViewController)をCustom Class のClass欄でプルダウンしても列挙されない、直接入力しても反映されないという現象です。

原因はユーティリティエリア下部のオブジェクト一覧で選んだオブジェクトと準備したクラス(ViewController)の構成が合っていないからです。当たり前で単純ですが、ついやってしまいます。

たとえば、Table View Controllerオブジェクトの画面なのに、

#import <UIKit/UIKit.h>

@interface MyViewController : UIViewController

@end

このようなUIViewControllerを継承したクラスを割り当てようとすると、Custom Classの設定で拒否されます。説明するまでもなく、この場合、

#import <UIKit/UIKit.h>

@interface MyViewController : UITableViewController

@end

こちらが正しいです。

ちなみに、OutletでConnection張ろうとしても張れないケースも似たようなオチで、準備したクラス(ViewController)をCustom Classに割り当てる前だとうまくいきません。


コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です