過去のプロジェクト(iOS 4.0より前)では、次のカテゴリメソッドを次のように記述しましたNSSortDescriptor
。
+ (id)sortDescriptorWithKey:(NSString *)key ascending:(BOOL)ascending;
AppleがiOSSDK4.0をリリースしたとき、それはまったく同じ方法を含んでいました(おそらくまったく同じことをします)。特定のOSバージョンを実行している場合、または同じシグネチャで宣言されたメソッドがまだない場合は、おそらくそれ以上にランタイムに追加されるカテゴリを作成することは可能ですか?
この場合、sortDescriptorWithKey:ascending:
私のバージョンはほぼ確実に同じことを行うので、メソッドをカテゴリでオーバーライドするのがおそらく安全です。これにより、iOS3とiOS4の両方がサポートされます。エッジケースで物事を壊す可能性があるため、可能であればシステム定義のメソッドをいじりたくないです。