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)
    	}
    
  • 相关阅读:
    第一次个人编程作业:我的分数我做主
    第一次作业
    finalshell编码问题
    个人总结-超越平台期
    第一次结对作业
    第二次编程作业代码互改
    第一次个人编程作业
    随笔001
    热是热,很值得—-2019北航暑期软件工程培训感受
    培训第二天------团队协作个人小结
  • 原文地址:https://www.cnblogs.com/QianChia/p/5777471.html
Copyright © 2011-2022 走看看