iOS,key => value 从 NSArray
在iOS开发中,有时候我们会遇到一个NSArray中包含多个NSDictionary的情况。如果我们想要从这个NSArray中获取NSDictionary的键值对,可以使用以下两种方法:
方法一:
for(NSDictionary *dict in yourArray) { NSLog(@"The dict is:%@",dict); NSLog(@"The key value for the dict is:%@",[dict objectForKey:@"Name"]);//key can be changed as per ur requirement }
方法二:
[yourdict enumerateKeysAndObjectsUsingBlock:^(id key, id object, BOOL *stop) { NSLog(@"Key -> value of Dict is:%@ = %@", key, object); }];
这两种方法都可以遍历NSArray中的NSDictionary,并获取其中的键值对。第一种方法使用了for-in循环,通过`objectForKey`方法获取指定键的值。第二种方法使用了`enumerateKeysAndObjectsUsingBlock`方法,通过block回调来获取键值对。
希望本文对你有所帮助!
iOS中,如果你想要从一个NSArray中获取key对应的value,你需要使用NSDictionary而不是NSArray。NSArray可以通过索引来访问,比如0、1、2等,而NSDictionary可以通过key来访问,可以使用dict[@"key"]
或者[dict objectForKey:@"key"];
来访问。
所以,访问NSArray的方式是:
for( int i = 0; i < [someArray count]-1; i++) { NSLog(@"%@", someArray[i]); }
而访问NSDictionary的方式是:
for (NSString* key in yourDict) { NSLog(@"%@", yourDict[key]); //或者 NSLog(@"%@", [yourDict objectForKey:key]); }
需要注意的是可变数组和字典与不可变数组和字典之间的区别。可变的数组和字典可以进行修改,而不可变的数组和字典是设置后不可更改的。可变数组的语法是NSMutableArray和NSMutableDictionary,不可变数组的语法是NSArray和NSDictionary。
解决方法是使用NSDictionary来存储key-value对,然后通过key来获取对应的value。
在上述内容中,提到了使用NSArray和NSDictionary来存储和操作key-value对的方法。NSArray是一种有序的集合,可以存储多个对象。NSDictionary是一种无序的集合,用于存储key-value对,其中每个key都是唯一的。
在给定一个NSArray对象时,如果想要根据value找到对应的index,可以使用indexOfObject方法。该方法会返回value在NSArray中的第一个出现的index。示例代码如下:
NSUInteger indexOfObject = [array indexOfObject:@"Three"]; NSLog(@"The index is = %lu", indexOfObject);
然而,如果想要根据key找到对应的value,就需要使用NSDictionary。可以通过循环遍历NSDictionary中的所有key,并使用valueForKey方法获取对应的value。示例代码如下:
NSDictionary *dictionary = @{@"myKey": @"Hello World !", @"other key": @"What's up ?" }; for (NSString *key in dictionary) { NSString *value = [dictionary valueForKey:key]; NSLog(@"%@ : %@", key, value); }
以上就是在iOS中操作NSArray和NSDictionary的一些基本方法。如果想要根据value获取index,可以使用NSArray的indexOfObject方法。如果要根据key获取value,可以使用NSDictionary的valueForKey方法。