だんだんObjective-CというかXcodeの気持ちがわかってきた順加です。

UIViewを親クラスとしたカスタムクラスを作って、storyboardに配置したインスタンスに関連付けました。

しかしながら、Xcodeがデフォルトで書いてくれたコードには、ここに初期化処理を書いてねみたいなことが書いてあるのに、そのメソッドが呼ばれる気配がありません。

- (id)initWithFrame:(CGRect)frame  
{  
self = [super initWithFrame:frame];  
if (self) {  
// Initialization code  
NSLog(@"ここだよ");  
}  
return self;
}  

デフォルトのコードの中には、コメントアウトされたdrawRectってメソッドがあるけど、ここに初期化処理を書くのは違う気がする。

よくよく調べてみたところ、storyboardを使った場合には、initWithFrameメソッドは呼ばれず、initWithCoderメソッドが呼ばれるようでした。

なのでinitWithFrameは消してしまって、下記のようにすればOK。

- (id)initWithCoder:(NSCoder *)aDecoder  
{  
self = [super initWithCoder:aDecoder];  
if(self){  
[self myInit];  
}  
return self;  
}  
  
- (void)myInit  
{  
NSLog(@"\(^o^)/");  
}  
keyboard_arrow_up