前言

	public class NSEnumerator : NSObject, NSFastEnumeration

1、迭代器

	let arr:NSArray = ["bei", "jing", "huan", "ying", "nin"]
let dic:NSDictionary = ["key1":"value1", "key2":"value2", "key3":"value3"] // 创建数组 正序 迭代器
let arrEnumer1:NSEnumerator = arr.objectEnumerator() // 创建数组 反序 迭代器
let arrEnumer2:NSEnumerator = arr.reverseObjectEnumerator() // 创建字典 key 迭代器
let dicKeyEnumer:NSEnumerator = dic.keyEnumerator() // 创建字典 对象 迭代器
let dicObjEnumer:NSEnumerator = dic.objectEnumerator() // 获取迭代器中下一个对象
var obj: AnyObject? = arrEnumer1.nextObject() obj = arrEnumer1.nextObject() // 获取迭代器中所有对象
let array = arrEnumer2.allObjects

2、数组用迭代器遍历

	let arr:NSArray = ["bei", "jing", "huan", "ying", "ni"]

	let enu1:NSEnumerator = arr.objectEnumerator()
let enu2:NSEnumerator = arr.reverseObjectEnumerator() // AnyObject 后不要加 ?,否则会导致一直循环
while let obj:AnyObject = enu1.nextObject() { print(obj)
} // AnyObject 后不要加 ?,否则会导致一直循环
while let obj:AnyObject = enu2.nextObject() { print(obj)
}

3、集合用迭代器遍历

	let nsSet:NSSet = [2, 4, 6, 8]

	let enu:NSEnumerator = nsSet.objectEnumerator()

	// AnyObject 后不要加 ?,否则会导致一直循环
while let obj:AnyObject = enu.nextObject() { print(obj)
}

4、字典用迭代器遍历

	let nsDic:NSDictionary = NSDictionary(dictionary: ["key1":1, "key2":2, "key3":3, "key4":4])

	// key 迭代器
let keyEnu:NSEnumerator = nsDic.keyEnumerator() while let key:AnyObject = keyEnu.nextObject() { print(nsDic.objectForKey(key))
} // 对象迭代器
let objEnu:NSEnumerator = nsDic.objectEnumerator() while let obj:AnyObject = objEnu.nextObject() { print(obj)
}

iOS - Swift NSEnumerator 迭代器的更多相关文章

  1. iOS - OC NSEnumerator 迭代器

    前言 @interface NSEnumerator<ObjectType> : NSObject <NSFastEnumeration> Xcode 7 对系统中常用的一系列 ...

  2. iOS swift的xcworkspace多项目管理(架构思想)

    iOS  swift的xcworkspace多项目管理(架构思想) 技术说明: 今天在这里分享 swift下的 xcworkspace多项目管理(架构思想),能为我们在开发中带来哪些便捷?能为我们对整 ...

  3. iOS Swift 模块练习/swift基础学习

    SWIFT项目练习     SWIFT项目练习2 iOS Swift基础知识代码 推荐:Swift学习使用知识代码软件 0.swift中的宏定义(使用方法代替宏) 一.视图  +控件 1.UIImag ...

  4. ios swift 实现饼状图进度条,swift环形进度条

    ios swift 实现饼状图进度条 // // ProgressControl.swift // L02MyProgressControl // // Created by plter on 7/2 ...

  5. Building gRPC Client iOS Swift Note Taking App

    gRPC is an universal remote procedure call framework developed by Google that has been gaining inter ...

  6. iOS Swift WisdomScanKit图片浏览器功能SDK

    iOS Swift WisdomScanKit图片浏览器功能SDK使用 一:简介      WisdomScanKit 由 Swift4.2版编写,完全兼容OC项目调用. WisdomScanKit的 ...

  7. iOS Swift WisdomScanKit二维码扫码SDK,自定义全屏拍照SDK,系统相册图片浏览,编辑SDK

    iOS Swift WisdomScanKit 是一款强大的集二维码扫码,自定义全屏拍照,系统相册图片编辑多选和系统相册图片浏览功能于一身的 Framework SDK [1]前言:    今天给大家 ...

  8. iOS Swift WisdomHUD 提示界面框架

    iOS Swift WisdomHUD 提示界面框架  Framework Use profile(应用简介) 一:WisdomHUD简介 今天给大家介绍一款iOS的界面显示器:WisdomHUD,W ...

  9. iOS Swift WisdomKeyboardKing 键盘智能管家SDK

    iOS Swift WisdomKeyboardKing 键盘智能管家SDK [1]前言:    今天给大家推荐个好用的开源框架:WisdomKeyboardKing,方面iOS日常开发,优点和功能请 ...

随机推荐

  1. Java遍历Map的3种方式

    package test; import java.util.Collection; import java.util.HashMap; import java.util.Map; import ja ...

  2. Web前端工作2个月小结

    开始语: 2013年6月30日,Microsoft Learning support 项目结束,转而进入Forerunner Development 项目,这对于这块领域空白的我,空前的困难,可是我坚 ...

  3. POJ 3903:Stock Exchange(裸LIS + 二分优化)

    http://poj.org/problem?id=3903 Stock Exchange Time Limit: 1000MS   Memory Limit: 65536K Total Submis ...

  4. IO流认识

    处理流是“连接”在已存在的流(节点流或处理流)之上,通过对数据的处理为程序提供更强大的读写能力.  BufferedWriter/BufferedReader(缓冲流)是处理流中的一种 OutputS ...

  5. 使用System.arraycopy()实现数组之间的复制

    System提供了一个静态方法arraycopy(),我们可以使用它来实现数组之间的复制. 其函数原型是: public static void arraycopy(Object src, int s ...

  6. java中MD5加密的小使用

    最近项目中需要用到md5加密,就自己在网上看了看. package com.wxgs.ch01; import java.security.MessageDigest; import java.sec ...

  7. asp.net 父窗体获取子窗体的返回值,可用来对父窗体局部更新

    今天在项目上遇到了这个问题,其实只是window.returnValue的简单应用,不是asp.net的专属内容.作为积累,记录一个简单的实现模型. 图1  用到的文件 从图1中我们可以看到,只用到了 ...

  8. C Looooops(扩展欧几里得)

    C Looooops Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 20128 Accepted: 5405 Descripti ...

  9. Drainage Ditches 分类: POJ 图论 2015-07-29 15:01 7人阅读 评论(0) 收藏

    Drainage Ditches Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 62016 Accepted: 23808 De ...

  10. Unity-Animator深入系列---StateMachineBehaviour初始化时间测试

    回到 Animator深入系列总目录 结果和想的有点出入 测试结果: 1.SMB初始化会被调用多次,次数不可控,当Animator组件重复开关则重复初始化. 2.SMB支持构造函数 MyClass p ...