Advancing dot m.

ヘッダには純粋にAPIだけを定義すれば良い。

そんな時代がもう来てた。


無名カテゴリにより、実装側(.m)にインスタンス変数やらを定義できるようになって久しいわけだが

プロトコルの宣言も全部そっちでできることに気がついた(今さら)。

 

#import "NSTrivial.h"

@interface NSTrivial() <UIScrollViewDelegate>
{
    UIScrollView *_scrollView;
}
@end

@implementation
@end

 

これまでわざわざヘッダ側に宣言していたので、ちょっとだけ便利。

あと、関係ないけどインスタンス変数の定義はここにも書ける。

 

@implementation {
    UIScrollView *_scrollView;
}
@end

 

@interfaceで定義するのとどう違うのかというと、特に何も違わない。併用も可能。

valueForKey: でアクセスできなくなるかも、と思ったけどそんなことも全然ない。

無名カテゴリを書くのが面倒な時や、気分転換したい時にでもどうぞ。