今日、私は のすべてのインスタンスに対して代替メソッドを「エイリアス」したいプロジェクトに取り組んでいましたが、古き良きメソッドのスウィズリングNSArray
ではそれほど難しいとは思いませんでした。
私はJRSwizzleを始めて…</p>
[NSArray jr_swizzleMethod:@selector(objectAtIndex:) withMethod:@selector(objectAtIndex_accordingToMe:) error:nil];
NSArray
明確にするために、これを適切なカテゴリ on 、 と呼ばれるインスタンス メソッドと組み合わせましたobjectAtIndex_accordingToMe:
。
ただし、同じ古い index で、同じ古いオブジェクトを取得していました。はぁ。最終的に、エラーをスローしていないにもかかわらず、クラスクラスターであるため、これらの結果を達成できないことがわかりましたNSArray
私の質問は、「これ」が実際にNSArray
メソッドをオーバーライドしようとする道の終わりであることを受け入れたくないということだと思います。つまり、これはNSArray
..人々はそれをいじりたがっているに違いありません。Apple の基礎クラスは、世界中のスウィズラーにとって主要なターゲットになると考える人もいるでしょう。
それで、変更、エイリアス、monkey-patch、オーバーライド、またはその他の方法で…NSArrayなどを(サブクラス化せずに)使用する方法はありますか?