一応解説など…w

さて、iPhoneプログラミングを初めてすでに5日。なんだか解らないけどやっぱり検索で訪問する方も多いようで、けっこう罪作りだよねぇ…アレw


目指せ!iPhoneアプリ開発エキスパート
http://gihyo.jp/dev/serial/01/iphone


↑そのアレw

ClassOutletsがInspectorから消えてから幾星霜w。だれも消えた事に疑問を呈して居ないのもさることながら、例のアレにもフォローすらないと来ている…w
こんな屑ブログと違って、影響力が違うんだからキチンと対処するべきだろうに、9/18に出された質問も、いま流行(?)のホッタラケ状態のまま…w
まぁ、気持ちは解らんでもないが、ライターとして書いたのなら、責任も持たなきゃw(註:返答書くために、あぽーに質問中で返事待ちだったら勘弁してくれw。ま、そうだとしても、いま質問中なので…とか載せるべきだろうw)


ま、お節介って事で早速回避方法を書こう。

CalssOutletsに追加する代わりはどうするか

問題のこの文章


インスペクタの中ほどに「Class Outlets」という項目があります。ここにアウトレットの一覧が表示されますが,まだ何もありません。「+」が付いているアイコンを押して,アウトレットを追加してみましょう。


だが、この代わりにどうやるかと言う…

  •  まず、新規プロジェクトを作ったら、InterfaceBuilderでViewの編集をしてコントロールを配置する。(この場合は、UILabelとUITextFieldの二つを配置してあります)
  •  で、ここで『File's OwnerのClassOutlets云々』って話になるんだけど、無いから進まない。
  • 仕方がないので、XCodeに戻り、<プロジェクト名>ViewController.h(サンプルの場合だとptestViewController.h)に以下のように手を加える

※修正前

#import <UIKit/UIKit.h>

@interface ptestViewController : UIViewController {

}

@end

 ↓
※修正後

#import <UIKit/UIKit.h>

@interface ptestViewController : UIViewController {
	IBOutlet id ptestLabel;
}

- (IBAction) changeTextField:(UITextField *)sender;

@end


細かい解説はめんどうなのでしませんw
ただ、ClassOutletsで追加する筈だった物を『IBOutlet』で、ClassActionsで追加する物を『-(IBAction)』で記述する訳です。
で、これをSaveしたら、InterfaceBuilderに戻ります。

  •  File's OwnerのOutletsの項目に、先ほどXcodeで記述したアウトレットとアクションが表示されている筈です。
  • 後は、右端の○をクリックして対応する場所にみにょーんと線を延ばして接続しましょう。ここから先は、http://gihyo.jp/dev/serial/01/iphone/0004?page=3 に書かれている方法と同じになります。

まぁ、こんなもんだ。

つーか、これで回避できます。ただそれだけ。
全てをInterfaceBuilderでやるか、どうかの違い。って言うか、この手の解説はweb上のどこにでも転がって居るんだよなぁ…俺がへたくそな解説しなくてもw

はやいとこ、返事すれよ。

いや、本当に。
影響力が違うんだわ。軽い気持ちで原稿受けた訳でも無いだろうに、ちゃんとしてくれよーw