두 개의 배열이 있습니다.순서를 유지하면서 다른 NSArray의 값에서 NSDictionaries의 NSArray를 필터링
첫 번째 배열은 매우 구체적인 순서로 국가 이름 목록입니다.
countryNames = ["Canada", "USA", "Mexico"];
두 번째 배열은 국가 개체의 모음입니다. countryNames
순서를 유지하면서
countries = [ {name: "USA", foo: "bar"}, {name: "Italy", foo: "bar"}, {name: "Canada", foo: "bar"}, {name: "Mexico", foo: "bar"} ]
는 I은 countryNames
배열을 사용 countries
를 필터링해야한다.
내 첫 번째 시도는 제대로 필터링하지만, 순서를 유지하지 않습니다
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"name in %@", countryNames];
NSArray *filteredCountries = [countries filteredArrayUsingPredicate:predicate];
나는 국가의 순서가 유지되는 것입니다 무슨 일이 일어나고 있는지 생각을 뺀 사람은 countryNames
에서 찾을 수 없습니다.
아이디어가 있으십니까?
http://cocoawithlove.com/2008/12/ordereddictionary-subclassing-cocoa.html – vikingosegundo