如果从数组中的B列中选择特定值,我如何从A列获取值?

时间:2018-06-07 00:02:39

标签: ios objective-c arrays

我有一个"国家"数组" Country_ID"和" Country_Name"列。 我怎样才能获得" Country_Name"值" Country_ID"是123?我可以在valueForKey中完成它吗?

我怎么写这个?示例国家/地区ID = 123,国家/地区名称=日本

NSArray *ary = [CountryArray valueForKey:@"Country_Name"];

2 个答案:

答案 0 :(得分:1)

您可以使用NSPredicate过滤结果,例如: -

NSString *countryID=@"123";
NSString *countryName=@"Japan";
NSPredicate *predicate=[NSPredicate predicateWithFormat:@"Country_ID = %@ AND Country_Name = %@",countryID,countryName];
NSArray *filteredArray=[CountryArray filteredArrayUsingPredicate:predicate];

答案 1 :(得分:-1)

如果您想将Country_IDCountry_Name相关联,则可以使用字典。

NSArray *countryIDs = [NSArray arrayWithObjects: @"key", @"123", nil];
NSArray *countryNames = [NSArray arrayWithObjects: @"value", @"Japan", nil];

NSDictionary *dict = [[NSDictionary alloc] initWithObjects: countryNames forKeys: countryIDs];
NSLog(@"%@", [dict objectForKey: @"123"]);//prints out "Japan"

Apple提供了在Objective-C中使用词典的文档和示例。

https://developer.apple.com/documentation/foundation/nsdictionary?changes=_4