-3
A
回答
7
“导航”是一个相当含糊的术语,因为它可能意味着“循环”或“索引”。 “迭代”是“循环”的同义词。有时候人们对“索引”使用“取消引用”,但是当访问指向的内容时,取消引用仅适用于指针。在一些语言中,如C,索引涉及解引用(这就是为什么解引用是以这种方式使用的),但通常情况并非如此,Objective-C中的NSArray
并非如此。
与大多数其他语言一样,Objective-C中的数组只是整数索引。字典是由字符串索引的数据结构;在Objective-C中,字典有NSDictionary
和NSMutableDictionary
。字典也被称为“关联数组”,在讨论PHP时经常缩短为“数组”,因为PHP中的所有数组都是关联的。使用setObject:forKey:
NSDictionary *dict = [NSDictionary dictionaryWithObjectsAndKeys:
[NSNumber numberWithDouble:120.50],@"balance",
@"myuser",@"username"
nil];
NSLog(@"%@", [dict objectForKey:@"balance"]);
NSLog(@"%@", [dict objectForKey:@"username"]);
您可以将项目添加到NSMutableDictionary
:与objectForKey:
法字典
您指数
// mutableDict is an owning reference; if not using ARC, it must be released
NSMutableDictionary *mutableDict = [dict mutableCopyWithZone:NULL];
[mutableDict setObject:@"bar" forKey:@"foo"];
你也可以遍历与fast enumeration语法键:
for (id key in dict) {
NSLog(@"%@: %@", key, [dict objectForKey:key]);
}
Bot h迭代和索引是最基本的数组操作。如果您目前的Objective-C信息来源没有讨论它们,请找到新的来源。如果你没有源,找一个。没有一个你永远不会学到你所需要的一切。
参见:
相关问题
- 1. SQL迭代通过数组
- 2. 迭代通过组
- 3. 通过嵌套对象/数组迭代
- 4. 通过数组对象迭代阵营
- 5. 通过散列数组迭代
- 6. 通过指针的数组迭代
- 7. 通过3维数组迭代 - JS
- 8. 通过JSON数组迭代 - Sinatra
- 9. 迭代通过jQuery对象数组
- 10. 通过数组有条件地迭代
- 11. 通过JSON对象数组迭代
- 12. Angular2:ngFor通过对象数组迭代
- 13. 迭代通过数组和渲染
- 14. 通过阵列中的数组迭代
- 15. 迭代通过数组,android dev
- 16. 通过多维数组迭代
- 17. 分配方法通过迭代数组
- 18. 通过迭代
- 19. 迭代通过指数
- 20. 迭代通过数据帧
- 21. 通过数组的数组迭代返回比预期
- 22. 迭代通过数组的数组与胡须
- 23. 迭代通过c#
- 24. 通过NSArray迭代
- 25. 迭代通过tensorflow
- 26. 迭代通过流
- 27. 通过迭代iterrows
- 28. 迭代通过PHP
- 29. 通过迭代猪
- 30. 迭代通过类
ü意味着NSDictionary的对象? [someObject objectForKey:“”]或你的对象究竟是什么? – 2012-02-04 08:03:28
Xcode是一个IDE,它没有数组。你的意思是Objective-C吗?那么,ObjC究竟是什么? – deceze 2012-02-04 08:18:17
“导航”,你的意思是循环或索引?请注意,Objective-C数组(仅在其他语言中)仅由整数索引。如果你需要字符串索引,你可以使用字典(['NSDictionary'](https://developer.apple.com/library/mac/#documentation/Cocoa/Reference/Foundation/Classes/nsdictionary_Class/Reference/Reference.html) ,在ObjC)。字典也被称为“关联数组”,因此是PHP术语。 – outis 2012-02-04 10:10:18