首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在NSMutableDictionary中使用NSEnumerator?

如何在NSMutableDictionary中使用NSEnumerator?
EN

Stack Overflow用户
提问于 2009-06-30 06:56:49
回答 3查看 40.3K关注 0票数 20

如何结合使用NSEnumerator和NSMutableDictionary,打印出所有的键和值?

谢谢!

EN

回答 3

Stack Overflow用户

发布于 2009-06-30 09:07:35

除非需要使用NSEnumerator,否则可以使用快速枚举(更快)和简洁。

代码语言:javascript
复制
for(NSString *aKey in myDictionary) {
    NSLog(@"%@", aKey);
    NSLog(@"%@", [[myDictionary valueForKey:aKey] string]); //made up method
}

此外,您还可以使用具有快速枚举的枚举器:

代码语言:javascript
复制
NSEnumerator *enumerator = [myDictionary keyEnumerator];

for(NSString *aKey in enumerator) {
    NSLog(@"%@", aKey);
    NSLog(@"%@", [[myDictionary valueForKey:aKey] string]); //made up method
}

这对于在数组中执行反向枚举器之类的事情很有用。

票数 94
EN

Stack Overflow用户

发布于 2009-06-30 07:07:33

NSDictionary class reference

您可以使用分别由keyEnumeratorobjectEnumerator返回的NSEnumerator对象,按键或按值枚举字典的内容。

换句话说:

代码语言:javascript
复制
NSEnumerator *enumerator = [myMutableDict keyEnumerator];
id aKey = nil;
while ( (aKey = [enumerator nextObject]) != nil) {
    id value = [myMutableDict objectForKey:anObject];
    NSLog(@"%@: %@", aKey, value);
}
票数 8
EN

Stack Overflow用户

发布于 2013-02-13 10:48:54

这是没有对象搜索的版本。请注意,objectForKey调用不存在。他们同时使用keyEnumerator和objectEnumerator。

代码语言:javascript
复制
id aKey = nil;
NSEnumerator *keyEnumerator = [paramaters keyEnumerator];
NSEnumerator *objectEnumerator = [paramaters objectEnumerator];
while ( (aKey = [keyEnumerator nextObject]) != nil) {
    id value = [objectEnumerator nextObject];
    NSLog(@"%@: %@", aKey, value);
}
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1062110

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档