Riv*_*ers -3 arrays objective-c nsdictionary nsarray
如何在Objective-C中浏览数组?以下面的例子为例.
(
[key] => value
[key] => value
)
Run Code Online (Sandbox Code Playgroud)
有什么建议吗?
6年后,我意识到这个问题是多么愚蠢.我很抱歉Stack Overflow.
"导航"是一个相当模糊的术语,因为它可能意味着"循环"或"索引"."迭代"是"循环"的同义词.有时人们使用"dereference"作为"index",但是在访问指向的内容时,解除引用仅适用于指针.在某些语言中,例如C,索引涉及解除引用(这就是以这种方式使用解除引用的原因),但这通常不正确,而NSArray在Objective-C中则不然.
Objective-C中的数组与大多数其他语言一样,只是整数索引.字典是由字符串索引的数据结构; 在Objective-C中,字典可以NSDictionary和NSMutableDictionary.字典也称为"关联数组",在谈论PHP时通常会缩短为"数组",因为PHP中的所有数组都是关联的.
使用以下objectForKey:方法索引字典:
NSDictionary *dict = [NSDictionary dictionaryWithObjectsAndKeys:
[NSNumber numberWithDouble:120.50],@"balance",
@"myuser",@"username"
nil];
NSLog(@"%@", [dict objectForKey:@"balance"]);
NSLog(@"%@", [dict objectForKey:@"username"]);
Run Code Online (Sandbox Code Playgroud)
您可以将项目添加到NSMutableDictionary使用中setObject:forKey::
// mutableDict is an owning reference; if not using ARC, it must be released
NSMutableDictionary *mutableDict = [dict mutableCopyWithZone:NULL];
[mutableDict setObject:@"bar" forKey:@"foo"];
Run Code Online (Sandbox Code Playgroud)
您可以使用快速枚举语法循环键:
for (id key in dict) {
NSLog(@"%@: %@", key, [dict objectForKey:key]);
}
Run Code Online (Sandbox Code Playgroud)
迭代和索引都是最基本的数组操作.如果您目前的Objective-C信息来源没有讨论它们,请找一个新的来源.如果您没有来源,请找一个.如果没有一个,你永远不会学到所需的一切.
也可以看看: