iOS,key => value 从 NSArray

6 浏览
0 Comments

iOS,key => value 从 NSArray

我找到了很多关于如何将数据编码成键 => 值风格的文档,但是如何从数组中提取键和值呢?我目前正在使用NSArray

我想要的是Objective-C中与php的foreach($array as $k => $v)相当的功能。

0
0 Comments

在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回调来获取键值对。

希望本文对你有所帮助!

0
0 Comments

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。

0
0 Comments

在上述内容中,提到了使用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方法。

0