我有两个数组。
第一个数组只是一个国家名称列表,按非常特定的顺序排列。
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
.
有任何想法吗?