sort
この本がandcompareNames:
メソッドを使用して配列内の要素をアルファベット順に並べることについて話し始めたとき、私は少し混乱していました。compareNames
メソッドsort
が呼び出されたときに、の引数はどのように取得されますか?そして、返されるすべてがタイプである場合、要素は実際にどのようにアルファベット順になりNSComparisonResult
ますか?
#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:)];
}