例如比较器
/** 使用一下两种方式比较, 遵守协议或者使用匿名类 */
// - 协议
@protocol NSComparable <NSObject>
-(void)compateTo:(id)anObj;
@end
// - 匿名类比较
@interface NSComparer : NSObject @end
@interface NSComparer ()
@property (nonatomic, copy)void (^comparer)(id anObj, id otherObj);
@end
@implementation NSComparer
-(NSComparer* )compareTo:(void (^)(id anObj, id otherObj))comparer{
self.comparer = comparer;
return self;
}
@end
/** 使用 */
@interface QIEPerson : NSObject
@property (nonatomic, assign) int age;
@property (nonatomic, copy) NSString *name;
@end
@implementation QIEPerson
-(void)compateTo:(QIEPerson