ときどき、オブジェクトの新しいメソッドを作成するコードのスニペットなどを次のように見ます。
@implementation UIImage (Extras)
- (void)aMethod:(id)anObject {
// some functionality
}
@end
このコードはどこに置くのですか? 現在コードを書いているクラスに入れますか? もしそうなら、コードのどの時点でこれを配置する必要がありますか?
ありがとうございました。
ときどき、オブジェクトの新しいメソッドを作成するコードのスニペットなどを次のように見ます。
@implementation UIImage (Extras)
- (void)aMethod:(id)anObject {
// some functionality
}
@end
このコードはどこに置くのですか? 現在コードを書いているクラスに入れますか? もしそうなら、コードのどの時点でこれを配置する必要がありますか?
ありがとうございました。
このカテゴリコードは、好きな場所に配置できます。一般に、このコードはUIImage+Extras.mというファイルとそれに対応するヘッダー ファイルUIImage+Extras.hにある必要があります。
これは「カテゴリ」と呼ばれる Objective-C の機能です。詳細については、次の記事を参照してください。
簡潔にするため、またコードをきれいに保つために、通常はクラス カテゴリを別のファイルに入れます。
しかし、一般的には、ヘッダーでカテゴリを宣言し、それをインポートして、追加したメソッドをコンパイラに知らせるだけでよいと思います。これらのメソッドの実装は、任意の (実装) ファイルに入れることができますが、別の場所に保管する方がよいと思います。