インターフェースビルダーのinspectorにClass actions Class outletsが表示されない:解決

ちょっと 前の記事で詳解した
スタンフォードの動画を見ててこんな事できるのかって思ったのが
インターフェースビルダーのインスペクターからアウトレットとアクションを指定していたのだ、
まねしようとして、動画を見ながらオブジェクトを選択して class actionsとclas outletsを探すのだが無かった
という話の解決です(現象はInterface Builder3.2から起きます)


結局、答えは Interface Builderのバージョンが上がって、今までの不具合や、不都合を直すために別のところに移動した
という感じでした(まだ勉強中なのでちゃんと説明できないので、手順だけ書き残します)


こんな状況で困り果てたのです
見つけた先は ライブラリーのクラスタブの中
さらに 今までは、Xcodeに戻って指定していた スーパークラスもここで指定できちゃうようです
動画の中でも講師がビルドしてエラーでて オーっていいながら直していました

今までは

@interface test_haha : /* Specify a superclass (eg: NSObject or NSView) */ {
}

という感じで コメントアウトされてここに自分でスーパークラスを追加しろ! って書かれていました


以下の画像の通りに指定すると

@interface NewController : NSObject {
}

とちゃんと指定されました
自分用のクラス自体はリストの一番上にあるみたい

スーパークラスの設定

完了!

下の手順でアウトレット、アクションへ行けるよ!


こんな感じでたどり着いたら+ボタンで好きに追加しちゃって!


ちなみに今回の私の場合は下のようになりました

追加できたら保存とかも忘れないでね!
  ファイルメニューの Write Class File セーブ先を選んで
  プロジェクトに追加するかの確認でチェックボックスにチェックを入れて
   Addをするのを忘れないようにっと。

後、接続も忘れずに そしてxibファイルも保存しないとね


これで動画の説明通り アウトレットと、アクション追加できたので
Xcodeに戻ったら
.hには

@interface MyController : NSObject {
    IBOutlet UILabel *label;
    IBOutlet UISlider *slider;
}
  • (IBAction)ChangeSliderText:(id)sender;

が追加されていて


.m には

  • (IBAction)ChangeSliderText:(id)sender {
}

こんな感じで追加されてる!
後は 中に機能を書くだけ!


今回の私の場合

  • (IBAction)ChangeSliderText:(id)sender {
int sliderValue = slider.value; label.text = [NSString stringWithFormat:@"%d",sliderValue]; }

完成!!


すばらしすぎる 超簡単、 一言で言うと、記事の編集のが時間かかったぐらい!