У меня есть два массива.Фильтрация NSArray из NSDictionaries из значений в другом NSArray с сохранением порядка
Первый массив - это просто список названий стран в очень определенном порядке.
countryNames = ["Canada", "USA", "Mexico"];
Второй массив - это коллекция объектов страны.
countries = [ {name: "USA", foo: "bar"}, {name: "Italy", foo: "bar"}, {name: "Canada", foo: "bar"}, {name: "Mexico", foo: "bar"} ]
мне нужно фильтровать countries
используя countryNames
массив, сохраняя при этом порядок countryNames
.
Моя первая попытка фильтруется правильно, но не сохраняет порядок:
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"name in %@", countryNames];
NSArray *filteredCountries = [countries filteredArrayUsingPredicate:predicate];
Я думаю, что происходит это порядок стран сохраняется, минус те, которые не нашли в countryNames
.
Любые идеи?
http://cocoawithlove.com/2008/12/ordereddictionary-subclassing-cocoa.html – vikingosegundo