iOS

2013-04-29, ios

何故、2カ所(.h .m)に@interface宣言があるのか?

XcodeでController系のクラスを作成すると、以下のように、ヘッダ(.h)と実装(.m)の双方にinterface宣言のあるコードが生成されます。Appleの正式なドキュメントがリンク切れで出典が曖昧なのですが、「.hの方にはパブリックなプロパティ、.mの方にはプライベートなプロパティ」という風に使い分けるためにあるのだそうです。

Foo.h
@interface Foo : NSObject

@end
Foo.m
@interface Foo (){

}

@end

@implementation Foo
:

参考URL

この記事は役に立ちましたか?