zoukankan      html  css  js  c++  java
  • iOS

    前言

    	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)
    	}
    
  • 相关阅读:
    Qt中的标准对话框之QMessageBox
    OpenCV相机标定坐标系详解
    typedef定义数组类型
    导出csv文件(使用a标签)
    获取过去某个时刻时间戳
    查看有没有绑这个host
    $.param()序列化对象
    推荐一个好用的模版引擎工具
    node定时任务
    使用vscode打断点
  • 原文地址:https://www.cnblogs.com/QianChia/p/5777471.html
Copyright © 2011-2022 走看看