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 ...
随机推荐
- HDUoj-------(1128)Self Numbers
Self Numbers Time Limit: 20000/10000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)To ...
- BOM初始状态配置
一个很简单的东西:有些公司在建BOM的时候,可能不是一次性建好,或者是想需要审核或者什么的,先不让使用. 其实这是SPRO里面配置的...路径:生产->基本物料->物料清单->物料单 ...
- linux下git的安装和使用(转)
转自:http://www.cnblogs.com/sunada2005/archive/2013/06/06/3121098.html 最近在使用github,感觉不错.在windows下,可使用g ...
- c# 关键字delegate、event(委托与事件)[MSDN原文摘录][2]
//Demo1:Declaring an event in an interface and implementing it in //a class. // event_keyword.cs usi ...
- MVC1-5直接访问静态页面
MVC模式下默认是无法访问站点内静态页面,昨日百度找了半天试了半天才试成功. 默认在Views文件外的静态页面可以访问,若要访问Views里的静态页面则需要修改View文件夹中的web.config: ...
- Servlet容器如何同时来处理多个请求
工作者线程Work Thread:执行代码的一组线程调度线程Dispatcher Thread:每个线程都具有分配给它的线程优先级,线程是根据优先级调度执行的Servlet采用多线程来处理多个请求同时 ...
- Linux学习之CentOS--CentOS6.4下Mysql数据库的安装与配置【转】
如果要在Linux上做j2ee开发,首先得搭建好j2ee的开发环境,包括了jdk.tomcat.eclipse的安装(这个在之前的一篇随笔中已经有详细讲解了Linux学习之CentOS(七)--C ...
- javaMail创建邮件和发送邮件总结
(注: 本文是参考http://www.cnblogs.com/xdp-gacl/p/4216311.html. 感谢博主的精彩的描述) 一, 前期的准备 1, 导入 mail.jar 二, 操作步骤 ...
- java面向对象编程—— 第三章 程序流程控制
3.1流程控制 三种基本技术可以改变程序的控制流程: ① 调用方法:调用方法将导致控制流程离开当前方法,转移到被调用的方法: ② 选择:java中有两种做出选择的机制:if/else语句和sw ...
- WordPress的神器
导读 Markdown 是一种简单的标记语言,旨在帮助你花费更小的代价来格式化纯文本文档.在 WordPress 下你可以使用 HTML 或者可视化编辑器来格式化你的文档,但是使用 markdown ...