2つのアレイがあります。
最初の配列は、非常に特定の順序での単純な国名のリストです。
countryNames = ["Canada", "USA", "Mexico"];
2番目の配列は、国オブジェクトのコレクションです。
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
。
何か案は?