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的遍历,基本使用集锦的更多相关文章

  1. 用法总结:NSArray,NSSet,NSDictionary

    用法总结:NSArray,NSSet,NSDictionary Foundation framework中用于收集cocoa对象(NSObject对象)的三种集合分别是: NSArray 用于对象有序 ...

  2. 【IOS 开发】Objective-C Foundation 框架 -- 字符串 | 日期 | 对象复制 | NSArray | NSSet | NSDictionary | 谓词

    一. 字符串 API 1. NSString 用法简介 (1) NSString API 介绍 NSString 功能 : -- 创建字符串 : 使用 init 开头的实例方法, 也可以使用 Stri ...

  3. 用法总结:NSArray,NSSet,NSDictionary-备用

    Foundation framework中用于收集cocoa对象(NSObject对象)的三种集合分别是: NSArray 用于对象有序集合(数组)NSSet 用于对象无序集合      (集合)NS ...

  4. 黑马程序员——OC语言Foundation框架 (2) NSArray NSSet NSDictionary\NSMutableDictionary

    Java培训.Android培训.iOS培训..Net培训.期待与您交流! (以下内容是对黑马苹果入学视频的个人知识点总结) (一)NSArray 1>NSArray :不可变数组 ①创建方法 ...

  5. IOS中数组的使用(NSArray, NSSet, NSDictionary)

    一.Foundation framework中用于收集cocoa对象(NSObject对象)的三种集合分别是: NSArray 用于对象有序集合(数组)NSSet 用于对象无序集合(集合) NSDic ...

  6. NSArray, NSSet, NSDictionary

    一.Foundation framework中用于收集cocoa对象(NSObject对象)的三种集合分别是: NSArray 用于对象有序集合(数组)NSSet 用于对象无序集合(集合) NSDic ...

  7. 速查 NSArray NSSet NSHashTable 快速遍历之速度比较

    因为NSArray中的指针并不是简单的连续存放的,所以简单的测试了Cocoa的三种集合的快速遍历(NSFastEnumeration)性能,给出简单的参考. 添加元素: [collection add ...

  8. 黑马程序员——OC语言Foundation框架 NSArray NSSet NSDictionary\NSMutableDictionary

    Java培训.Android培训.iOS培训..Net培训.期待与您交流! (以下内容是对黑马苹果入学视频的个人知识点总结) (一) NSNumber 将各种基本数据类型包装成NSNumber对象 @ ...

  9. Foundation框架之NSArray、NSDictionary、NSSet及其Mutable类型

    Foundation框架之NSArray.NSDictionary.NSSet及其Mutable类型 目录 概述——对Foundation框架集合类的理解 NSArray NSDictionary N ...

随机推荐

  1. hdu------(3549)Flow Problem(最大流(水体))

    Flow Problem Time Limit: 5000/5000 MS (Java/Others)    Memory Limit: 65535/32768 K (Java/Others)Tota ...

  2. nssm在windows服务器上部署nodejs,coffee启动方式

    本想用forever / pm2 来部署nodejs, 百度后发现只能在Linux系统上使用,window上没法使用,兜一圈后又转nssm了.... 在Linux上,可以轻松的使用forever或者p ...

  3. java并发带返回结果的批量任务执行

    转载:http://www.it165.net/pro/html/201405/14551.html 一般情况下,我们使用Runnable作为基本的任务表示形式,但是Runnable是一种有很大局限的 ...

  4. (置顶)js实现超过页面一屏后,点击图标滚动到页面顶部top

    <script type="text/javascript">$(document).ready(function() {    var ScrolltoTop = $ ...

  5. [apache]用shell分析网站的访问情况

    随着网站正式运行,我们可以通过通用的免费日志分析工具比如awstats获得一些实际访问网站的信息,例如每天ip量,pv量,用户所用的的浏览器,用户所用的操作系统等,但是有时候希望通过手工方式从WEB日 ...

  6. static方法,属性,代码块初始化顺序和执行顺序

    http://greateryang.blog.163.com/blog/static/81953375201232621031508/

  7. [原创]checkstyle下载与安装

    checkstyle是一款功能很强的java静态代码检查工具,为eclipse的插件.在网上看了,大致有两种安装方法.第一种 为联网,在eclipse里输入URL下载:另一种为下载好插件后,离线安装. ...

  8. 十大谷歌Google搜索技巧分享

    前言:多数人在使用Google搜索的过程是非常低效和无谓的,如果你只是输入几个关键词,然后按搜索按钮,你将是那些无法得到Google全部信息的用户,在这篇文章中,Google搜索专家迈克尔.米勒将向您 ...

  9. 如何整治那些敢偷用你Wi-Fi的人

    我的邻居正在盗用我的WiFi,唔,对此我可以直接选择加密口令,或者…作为一名极客我也可以耍耍他.那么,我就从划分网络开始吧.我把网络划分成两部分,受信任部分和非受信任部分.受信任部分组成一个子网,而非 ...

  10. 常州培训 day1 解题报告

    第一题:(骗分容易,AC难.) 题目大意: 给出一个字符串,找出满足条件A的区间的个数.A:字符A,B,C的出现次数相同. 都出现0次也算,区间的长度可以是0(就是只有一个数).30% |S| ≤ 1 ...