UIImageサブクラスMyImageを作成しました。 MyImageは、当初実装したすべてのメソッドには明らかに応答しますUIImage。私はのような実装を作成しようとしObjective Cのスーパークラスからサブクラスを初期化します
- (MyImage *)resizableImageWithCapInsets:(UIEdgeInsets)capInsets;
に
- (UIImage *)resizableImageWithCapInsets:(UIEdgeInsets)capInsets;
:私は、例えばMYIMAGEのようなメソッドを再宣言して、完全に、UIImageの実装を非表示にしたいと思います
- (MyImage *)resizableImageWithCapInsets:(UIEdgeInsets)capInsets {
UIImage *original = [super resizableImageWithCapInsets:capInsets];
MyImage *result = [[[self class] alloc] initWithUIImage:original];
return result;
}
- (id) initWithUIImage:(UIImage *)image {
// HOW TO IMPLEMENT THIS METHOD???
}
けどinitWithUIImageメソッドで停止しました。どのようにして構図を使わずにこのような行動を達成できますか?
あなたのクラスを[proxy](https://en.wikipedia.org/wiki/Proxy_pattern)にすることをお勧めします。この方法で、必要なメソッドだけを公開することができます。 –