1. 程式人生 > >IOS中NSArray的4種遍歷方式

IOS中NSArray的4種遍歷方式

objective-c 語言 陣列遍歷的4種方式:1、普通for迴圈;2、快速for迴圈;3、特性block方法;4、列舉方法。

一. for迴圈

Student *stu = [Student student];  
NSArray *array = [NSArray arrayWithObjects:stu, @"1",@"2",nil];  
int count = array.count;//減少呼叫次數  
for( int i=0; i<count; i++){  
    NSLog(@"%i-%@", i, [array objectAtIndex:i]);  
}  

二. 增強for

for(id obj in array){  
    NSLog(@"%@",obj);  
}  

三. 迭代器

NSEnumerator *enumerator = [array objectEnumerator];  
id obj = nil;  
while(obj = [enumerator nextObject]){  
    NSLog(@"obj=%@",obj);  
} 

四. Block塊遍歷

[array enumeratorObjectsUsingBlock:  
^(id obj, NSUInteger index, BOOL
*stop){ NSLog(@"%i-%@",index,obj); //若終斷迴圈 *stop = YES; }];

相關推薦

SQL Server方式比較

不同 .com font size 常用 分享 分享圖片 遊標 inf SQL遍歷解析   在SQL的存儲過程,函數中,經常需要使用遍歷(遍歷table),其中遊標、臨時表等遍歷方法很常用。面對小數據量,這幾種遍歷方法均可行,但是面臨大數據量時,就需要擇優選擇,不同的遍歷方

IOSNSArray的4方式

objective-c 語言 陣列遍歷的4種方式:1、普通for迴圈;2、快速for迴圈;3、特性block方法;4、列舉方法。 一. for迴圈 Student *stu = [Student student]; NSArray *array =

python的字典兩方式

方法 clas items color 兩種方法 pan code bsp for dic = {"k1":"v1", "k2":"v2"} for k in dic: print(dic[K]) for k, v in dic.items(): pri

JavaList集合的(三方式效率的比較)

public static void main(String args[]){ compare(); } public static void compare() { List<String> list = new ArrayList

《MapHashMap與TreeMap的排序以及四方式

一、Map概述 1、Map是將鍵對映到值( key-value )的物件。一個對映不能包含重複的鍵;每個鍵最多隻能對映到一個值。 2、Map與Collection的區別     (1)Map 是以鍵值對的方式儲存元素,鍵唯一,值可以重複。   &nb

vue.js的兩方式(以及substring,split,getJsonLength)

第一種: $.each($('.active'), function(index, item){ attrTxt+= (' ' + $(item).text()); attrid

二叉樹三方式,先序、序、後序

二叉樹遍歷方式分為三種:先序,中序和後序。 可以以根節點的位置為參考來記遍歷方式,在第一個為先序,中間為中序,最後為後序; 即:先序: 根左右;中序:左根右;後序:左右根。 借個圖: 每個節點左上角,底部,右上角分別對應先序,中序,後序時的取值點

javaMap,兩方式

package cn.mdln.study3; import java.util.Map; import java.util.Set; import java.util.Iterator; import java.util.HashMap; /**  * Map,兩種遍歷方

集合的三方式

叠代器 whl print 循環 下一個 sys 三種 iterator for 1、for循環 代碼實現: for(int i=0;i<list.size();i++){ product p=list.get(i); System.println(p); } 2、叠

圖的兩方式

繼續 div input traversal 遍歷 n) logs i++ memset 圖的遍歷有兩種:深度優先和廣度優先。本文中,深度優先使用遞歸實現,每次遞歸找到第一個與當前結點相連且未輸出過的結點繼續往下遞歸,直至所有結點都已輸出。廣度優先將開始結點的所有鄰接結點全

iOS數組的方法及比較

結果 keyword div standard c語言 tracking dsm track 代碼 數組遍歷是編碼中很常見的一種需求,我們來扒一拔iOS裏面都有什麽樣的方法來實現,有什麽特點。 因為ios是兼容C語言的,所以c語言裏面的最最常見的for循環遍

PHP二維索引數組的2方式

php 數組 二維數組 索引數組 數組遍歷 二維索引數組的遍歷方式,話不多說,直接看代碼。實例一、<?php$arr = array(//定義外層數組 array(1,‘高某‘,‘A公司‘,‘北京市‘,‘(010)987654321‘,‘[email protect

Map集合的四方式,自己記錄,方便以後查詢參考!

for 映射 while entryset 返回 方式 bsp rgs put 1 import java.util.HashMap; 2 import java.util.Iterator; 3 import java.util.Map; 4 5 publi

js數組的4方式

參數 形參 javascrip HA each log i++ 定義 har 1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta charset="utf-8"/&g

map的5方式

entry keyset clas emp com spa post pmap next() Map<String, Integer> tempMap = new HashMap<String, Integer>(); tempMap.pu

通過兩深度優先方式重建二叉樹或者得到其余一方式

strong 節點 public node binary right 方法 二叉 sta   重建二叉樹的方法有很多種,但是並不是通過任意兩種深度優先遍歷方式都可以重建二叉樹,它也是有限制的。   通過前序+中序、後序+中序、層序+中序這三種方式是可以重建二叉樹的,但是通過

Java(8)List的方式

system pack map 新建 lam entry lambda googl list() ============Java8之前的方式==========Map<String, Integer> items = new HashMap<>()

資料結構作業——————二叉樹的三方式

資料結構作業: 二叉樹的建立 三種遍歷方式 L:遍歷左子樹 D:訪問根節點 R:遍歷右子樹 DLR:先序遍歷 LDR:中序遍歷 LRD:後序遍歷 #include<bits/stdc++.h> using namespace std

方式可以唯一確定一棵二叉樹嗎?

按照資料結構課本上的說法: 前序遍歷+中序遍歷 後序遍歷+中序遍歷 可以唯一確定一棵二叉樹。 反例:          1            &nbs

Map的三方式

package com.qf.day13; import java.util.Collection; import java.util.HashMap; import java.util.Iterator; import java.util.Map; import java.util.