在过去的项目中(iOS 4.0 之前),我在 上编写了以下类别方法NSSortDescriptor
:
+ (id)sortDescriptorWithKey:(NSString *)key ascending:(BOOL)ascending;
当 Apple 发布 iOS SDK 4.0 时,它包含了完全相同的方法(大概做了完全相同的事情)。如果您正在运行特定的操作系统版本,或者可能更重要的是,如果还没有使用相同签名声明的方法,是否可以编写一个仅添加到运行时的类别?
在这种情况下,使用类别覆盖该sortDescriptorWithKey:ascending:
方法可能是安全的,这将同时支持 iOS 3 和 iOS 4,因为我的版本几乎肯定会做同样的事情。如果可能的话,我仍然宁愿不要乱用系统定义的方法,因为在极端情况下(不太可能)可能会破坏东西。