2010-12-29 14 views
0

HI、objective-c |カテゴリを使用してUIApplicationのopenURLメソッドをオーバーライドします。元のメソッドを呼び出す方法は?

私はPlus +を使用しています。カテゴリを使用した元のUIApplicationのopenURLメソッドをオーバーライドします。元のUIApplicationメソッドを使用する方法はありますか?どうやってやるの ?

+4

カテゴリを使用してシステムメソッド(または任意のメソッド)をオーバーライドするのは非常に悪いフォームなので、dump Plus +と言って他のものを使用します。カテゴリはメソッドをオーバーライドするものではなく、新しいメソッドでライブラリクラスを動的に拡張することを意図しています。元のメソッドの実装を呼び出すための信頼できる方法はありません。 –

+4

また、このサイトは2年間使用されており、60以上の質問を受けています。そのほとんどは複数の回答を持っていますが、そのうちの26%しか受け入れていません。それは本当に悪い形でもあります。 –

答えて

1

元の方法にはアクセスできません。 Apple's documentation引用する:

カテゴリが継承されたメソッドをオーバーライドし、カテゴリの方法は、通常通り、スーパーへのメッセージを介して継承された実装を呼び出すことができます。ただし、カテゴリが既にカテゴリのクラスに存在するメソッドをオーバーライドする場合、元の実装を呼び出す方法はありません。あなた(この場合は、プラス+)が所有していないクラスのメソッドをオーバーライドするカテゴリを使用して一般的に

は、避けるべきです。

関連する問題