【发布时间】:2014-02-14 03:29:16
【问题描述】:
新手问题,
我正在使用包含卡片元素(姓名和电子邮件地址)的 NSMutableArray *myBook。
我希望 myBook 以降序显示。
地址簿.h
#import <Foundation/Foundation.h>
#import "AddressCard.h"
@interface AddressBook : NSObject
@property (nonatomic, copy) NSMutableString *bookName;
@property (nonatomic , strong) NSMutableArray *book;
地址卡.h
#import <Foundation/Foundation.h>
@interface AddressCard : NSObject
@property (nonatomic, copy) NSMutableString *name, *email;
地址簿.m
- (void) sort{
[book sortUsingSelector:@selector(compareNames:)];
}
- (void) showList{
NSLog(@"====== Contents of: %@ =======",bookName);
for (AddressCard *theCard in book) {
NSLog(@"%-20s %-32s", [theCard.name UTF8String], [theCard.email UTF8String] );
}
NSLog(@"===============================");
}
地址卡.m
- (NSComparisonResult) compareNames: (id) element{
return [name compare:[element name]];
}
我的 CompareNames 方法返回升序结果。如何让它返回降序?
谢谢!
【问题讨论】:
-
试试
return [self.name compare:[element name]];。 -
@rmaddy 没用。
-
啊,根据接受的答案,我误解了你的问题。你的排序正好相反。
标签: ios objective-c nsmutablearray nsmutablestring