放置在NSMutableDictionary中的元素不壹定按照存儲時的順序遍歷。
因此,對輸出進行排序。例如,根據工資從低到高對輸出進行排序:
-(NSArray *)sortbyaryfordictionary {
NSArray * sorted keys =[_ book dictionary keysortedbyvalueusengselector:@ selector(compareBySalaryForDictionary:)];
返回sortedKeys
}
在AddressCard類中,添加compareBySalaryForDictionary方法:
-(NSComparisonResult)comparebysalyfordictionary:(id)element {
if(薪金& gt[要素工資]) {
返回NSOrderedDescending
}else if(工資& lt[要素工資]) {
返回NSOrderedAscending
}否則{
返回NSOrderedSame
}
}
正如您所看到的,使用keysSortedByValueUsingSelector方法,返回排序後的鍵。
然後,在使用時,根據鍵對輸出進行排序:
NSArray * sorted keys =[my book sortBySalaryForDictionary];
for(ns string * sorted keys中的密鑰){
address card * the card =[my book findCardByName:the key];
[卡片打印];
}