iOS - Swift NSEnumerator 迭代器
前言
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 迭代器的更多相关文章
- iOS - OC NSEnumerator 迭代器
前言 @interface NSEnumerator<ObjectType> : NSObject <NSFastEnumeration> Xcode 7 对系统中常用的一系列 ...
- iOS swift的xcworkspace多项目管理(架构思想)
iOS swift的xcworkspace多项目管理(架构思想) 技术说明: 今天在这里分享 swift下的 xcworkspace多项目管理(架构思想),能为我们在开发中带来哪些便捷?能为我们对整 ...
- iOS Swift 模块练习/swift基础学习
SWIFT项目练习 SWIFT项目练习2 iOS Swift基础知识代码 推荐:Swift学习使用知识代码软件 0.swift中的宏定义(使用方法代替宏) 一.视图 +控件 1.UIImag ...
- ios swift 实现饼状图进度条,swift环形进度条
ios swift 实现饼状图进度条 // // ProgressControl.swift // L02MyProgressControl // // Created by plter on 7/2 ...
- Building gRPC Client iOS Swift Note Taking App
gRPC is an universal remote procedure call framework developed by Google that has been gaining inter ...
- iOS Swift WisdomScanKit图片浏览器功能SDK
iOS Swift WisdomScanKit图片浏览器功能SDK使用 一:简介 WisdomScanKit 由 Swift4.2版编写,完全兼容OC项目调用. WisdomScanKit的 ...
- iOS Swift WisdomScanKit二维码扫码SDK,自定义全屏拍照SDK,系统相册图片浏览,编辑SDK
iOS Swift WisdomScanKit 是一款强大的集二维码扫码,自定义全屏拍照,系统相册图片编辑多选和系统相册图片浏览功能于一身的 Framework SDK [1]前言: 今天给大家 ...
- iOS Swift WisdomHUD 提示界面框架
iOS Swift WisdomHUD 提示界面框架 Framework Use profile(应用简介) 一:WisdomHUD简介 今天给大家介绍一款iOS的界面显示器:WisdomHUD,W ...
- iOS Swift WisdomKeyboardKing 键盘智能管家SDK
iOS Swift WisdomKeyboardKing 键盘智能管家SDK [1]前言: 今天给大家推荐个好用的开源框架:WisdomKeyboardKing,方面iOS日常开发,优点和功能请 ...
随机推荐
- 【PHP设计模式 07_ZeRenLian.php】责任链模式
<?php /** * [责任链模式] * 情景设置:根据不同的需求,去找相应级别的责任人解决问题 */ header("Content-type: text/html; charse ...
- css中transition的使用以及:before:after的使用(小样式)
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...
- 过滤器Filter(拦截jsp页面的跳转)案例:
创建一个 Filter , class类: 其继承于 接口 Filte(接口导包:import javax.servlet.Filter;) 在 web.xml 文件中配置并映射该 Filter. 其 ...
- Rank List
Rank List Time Limit: 10000MS Memory Limit: 65536K Total Submissions: 9837 Accepted: 3303 Descriptio ...
- Kernel启动时 驱动是如何加载的module_init,加载的次序如何;略见本文
Init.h中有相关initcall的启动次序,在system.map中可看出具体的__initcall指针的前后次序 #define pure_initcall(fn) __define_initc ...
- TestNG测试框架在基于Selenium进行的web自动化测试中的应用
转载请注明出自天外归云的博客园:http://www.cnblogs.com/LanTianYou/ TestNG+Selenium+Ant TestNG这个测试框架可以很好的和基于Selenium的 ...
- JS实现base64编码与解码
var base64EncodeChars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/" ...
- linux 帮助命令
帮助命令 man(manual) 可以用来查看1 命令 2 配置文件 格式 man ls 1 查看命令 看第一行NAME 如果要看-l ,那么直接输入/-l 2 查看配置文件 man 查看配置文件信息 ...
- 国内下Android源码地址
1 Android 4.4 with kernel: http://pan.baidu.com/s/1bnuDtHt 下载后,请务必阅读 必读.txt 2 android 5.0源码下载 http:/ ...
- 在HTML5规范中div中读取预存的data-[key]值
HTML 代码: <div id="div_test" data-test="this is test" ></div> jQuery ...