簡體   English   中英

根據NSDictionary對NSArray進行排序

[英]Sort NSArray according to NSDictionary

假設我有一個NSObjects NSArray:

{
  person: {
    'id':'A',
    'firstName':'Bob'
  }
  person: {
    'id':'B',
    'firstName':'Chris'
  }
  person: {
    'id':'C',
    'firstName':'Sarah'
  }
}

和NSDictionary鍵值(NSDates)

{
  'A':'13:45:12 Tuesday',
  'B':'01:45:12 Monday',
  'C':'05:45:12 Friday'
}

並且我想根據日期根據nsdictionary對nsarray進行排序(在這種情況下,順序應為[personB,personA,personC]),什么是這樣做的好方法?

您可以使用sortedArrayUsingComparator

 NSArray *sortedArray = [unsortedArray sortedArrayUsingComparator:^NSComparisonResult(id a, id b) {
    Person *personA=(Person *)a;
    Person *personB=(Person *)b:
    NSDate *first = [keyDictionary objectForKey:personA.id];
    NSDate *second = [keyDictionary objectForKey:personB.id];
    return [first compare:second];
}];

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM