當本書開始使用sort
和compareNames:
方法開始討論數組中的字母順序元素時,我有些困惑。在調用方法sort
時獲得的compareNames
的參數如何?當所有返回的元素都是NSComparisonResult
類型時,元素如何實際獲得字母順序?混淆sortUsingSelector
#import <Foundation/Foundation.h>
@interface AddressCard : NSObject
@property (copy, nonatomic) NSString *name, *email;
-(NSComparisonResult) compareNames: (id) element;
@end
@implementation AddressCard
@synthesize name, email;
-(NSComparisonResult) compareNames:(id)element {
return [name compare: [element name]];
}
@end
#import "AddressCard.h"
#import <Foundation/Foundation.h>
@interface AddressBook : NSObject
@property (nonatomic, copy) NSString *bookName;
@property (nonatomic, strong) NSMutableArray *book;
-(void) addCard: (AddressCard *) myCard;
-(void) sort;
@end
@implementation AddressBook
@synthesize book, bookName;
-(void) sort {
[book sortUsingSelector: @selector(compareNames:)];
}