NSArray,NSSet,NSDictionary的遍历,基本使用集锦
NSArray *array = [NSArray arrayWithObjects:@"zhangsan",@"lisi",@"wangwu",@"zhaoda", nil];
//如何把 数组元素 一一取出?
//方法一:for循环
for (int i = 0; i < [array count]; i++) {
NSString *obj = [array objectAtIndex:i];
NSLog(@"%@",obj);
}
NSLog(@"----------");
//方法二:使用枚举器NSEnumerator
NSEnumerator *enumerator = [array reverseObjectEnumerator];
NSString *obj = nil;
while (obj = [enumerator nextObject]) {
NSLog(@"obj = %@",obj);
}
NSLog(@"----------");
//方法三:快速枚举 forin
for (NSString *obj in array) {
NSLog(@"%@",obj);
}
NSLog(@"----------");
//方法四:使用专业的枚举方式(blocks等)
[array enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) {
NSLog(@"!!!%@ %lu",obj,idx);
if(idx == 1)
{
*stop = YES;
}
}];
NSLog(@"#########");
//字典四种方法同上!
NSDictionary *dic = [NSDictionary dictionaryWithObjectsAndKeys:@"cui",@"name",@"18",@"age",@"nan",@"gender", nil];
//如何把 字典元素 一一取出?//字典没有下标概念 只能靠key区分对象
NSArray *allKeys = [dic allKeys];
NSArray *allValue = [dic allValues];
for(int i = 0;i < [dic count];i++){
NSString *key = [allKeys objectAtIndex:i];
//NSString *obj =[allValue objectAtIndex:i];
NSString *obj = [dic objectForKey:key];
NSLog(@"key = %@ obj = %@",key,obj);
}
NSEnumerator *en = [dic keyEnumerator];
NSString *key = nil;
while (key = [en nextObject]) {
NSLog(@"%@ = %@",key,[dic objectForKey:key]);
}
for (NSString *key in dic) {
NSLog(@"-%@--%@",key,[dic objectForKey:key]);
}
NSLog(@"++++++++++++");
NSSet *set = [NSSet setWithObjects:@"guangmu",@"duowen",@"zengchang",@"chiguo", nil];
//如何把 集合元素 一一取出?
NSArray *objects = [set allObjects];
for (int i = 0; i < [objects count]; i++) {
NSLog(@"%@",[objects objectAtIndex:i]);
}
NSEnumerator *e = [set objectEnumerator];
NSString *o = nil;
while (o = [e nextObject]) {
NSLog(@"%@",o);
}
for (NSString *obj in set) {
NSLog(@"=%@",obj);
}
}
NSArray,NSSet,NSDictionary的遍历,基本使用集锦的更多相关文章
- 用法总结:NSArray,NSSet,NSDictionary
用法总结:NSArray,NSSet,NSDictionary Foundation framework中用于收集cocoa对象(NSObject对象)的三种集合分别是: NSArray 用于对象有序 ...
- 【IOS 开发】Objective-C Foundation 框架 -- 字符串 | 日期 | 对象复制 | NSArray | NSSet | NSDictionary | 谓词
一. 字符串 API 1. NSString 用法简介 (1) NSString API 介绍 NSString 功能 : -- 创建字符串 : 使用 init 开头的实例方法, 也可以使用 Stri ...
- 用法总结:NSArray,NSSet,NSDictionary-备用
Foundation framework中用于收集cocoa对象(NSObject对象)的三种集合分别是: NSArray 用于对象有序集合(数组)NSSet 用于对象无序集合 (集合)NS ...
- 黑马程序员——OC语言Foundation框架 (2) NSArray NSSet NSDictionary\NSMutableDictionary
Java培训.Android培训.iOS培训..Net培训.期待与您交流! (以下内容是对黑马苹果入学视频的个人知识点总结) (一)NSArray 1>NSArray :不可变数组 ①创建方法 ...
- IOS中数组的使用(NSArray, NSSet, NSDictionary)
一.Foundation framework中用于收集cocoa对象(NSObject对象)的三种集合分别是: NSArray 用于对象有序集合(数组)NSSet 用于对象无序集合(集合) NSDic ...
- NSArray, NSSet, NSDictionary
一.Foundation framework中用于收集cocoa对象(NSObject对象)的三种集合分别是: NSArray 用于对象有序集合(数组)NSSet 用于对象无序集合(集合) NSDic ...
- 速查 NSArray NSSet NSHashTable 快速遍历之速度比较
因为NSArray中的指针并不是简单的连续存放的,所以简单的测试了Cocoa的三种集合的快速遍历(NSFastEnumeration)性能,给出简单的参考. 添加元素: [collection add ...
- 黑马程序员——OC语言Foundation框架 NSArray NSSet NSDictionary\NSMutableDictionary
Java培训.Android培训.iOS培训..Net培训.期待与您交流! (以下内容是对黑马苹果入学视频的个人知识点总结) (一) NSNumber 将各种基本数据类型包装成NSNumber对象 @ ...
- Foundation框架之NSArray、NSDictionary、NSSet及其Mutable类型
Foundation框架之NSArray.NSDictionary.NSSet及其Mutable类型 目录 概述——对Foundation框架集合类的理解 NSArray NSDictionary N ...
随机推荐
- mysql的小知识点(关于数据库的导入导出 对于windows)
对于,一个存在的数据,我们该如何去打包成.sql属性的文件呢? 直接进行这两条语句: D:\Program Files\MySQL\mysql\bin>mysqldump -u root -p ...
- IntelliSense: 应输入声明的解决方案
出现问题的原因暂时没搞清楚,只是找到了解决方案,方案如下: 工具-->选项-->文本编辑器-->C/C++-->高级-->禁用自动更新-->True
- ios基础篇(十)——UINavgationController的使用(一)UIBarButtonItem的添加
UINavigationController又被成为导航控制器,继承自UIViewController,以栈的方式管理所控制的视图控制器,下面就详细说一下UINavigationController的 ...
- BZOJ1066 [SCOI2007]蜥蜴
首先...这是道(很水的)网络流 我们发现"每个时刻不能有两个蜥蜴在同一个柱子上"这个条件是没有用的因为可以让外面的先跳,再让里面的往外跳 但是还有柱子高度的限制,于是把柱子拆点为 ...
- Jquery 表格操作,记录分页情况下,每一页中被用户勾选的信息
如下图,一个分页列表,用户可以随意勾选一条或多条信息,然后进行某种操作,如“提交”.但是有个问题:如果勾选了一条信息之后,点[下一页],那么上一页 勾选的条目被刷新掉了. 问题:如果用户需要在第1页, ...
- linux-网卡故障
Linux 网络问题解决思路 1.查看 /etc/sysconfig/network-script/ 查看eth0和eth1的配置是否正确 2.查看 /etc/modual.conf 的配置模块是否正 ...
- Ajax入门
实例如下: <html> <head> <script type="text/javascript"> function loadXMLDoc( ...
- c#中使用servicestackredis操作redis
下载地址: https://github.com/mythz/ServiceStack.Redis 添加dll引用: using ServiceStack.Common.Extensions;usin ...
- WinForm 中 VScrollBar Maximum 问题
最近在做一个鼠标经过弹出 TreeView 面板功能 , 要求鼠标离开TreeView区域,隐藏面板. 功能如期开发,其中当TreeView 出现滚动条时,鼠标经过TreeView中的滚动条时,提前 ...
- jstl c:choose>、<c:when>和<c:otherwise>标签
<c:choose>.<c:when>和<c:otherwise>在一起连用,可以实现Java语言中的if-else语句的功能.例如以下代码根据username请求 ...