NSEnumerator用法小結

2022-09-16 03:45:09 字數 3563 閱讀 2828

3)列舉 (nsenumerator)

遍歷陣列每個索引處的物件,你可以編寫乙個0到[array count]的迴圈,而nsenumerator用來描述這種集合迭代運算的方式。

通過objectenumerator向陣列請求列舉器,如果想從後向前瀏覽集合,可使用reverseobjectenumerator方法。在獲得列舉器後,可以開始乙個while迴圈,每次迴圈都向這個列舉器請求它的下乙個物件:nextobject。nextobject返回nil值時,迴圈結束。示例如下:

1 // nsenumerator示例

2 nsenumerator *enumerator;

3 enumerator = [array objectenumerator];

4 id thing;

5 while (thing = [enumerator nextobject])

對於可變陣列進行列舉操作時,主要不要新增或刪除陣列中的物件。

4)快速列舉

objective-c2.0支援快速列舉:如

1 for (nsstring *string in array)

2 5 

6這個迴圈將會遍歷陣列中的每個元素,並且用變數string儲存每個陣列值。它比列舉器語法更加簡潔快捷。

nslog(@"hello, world!");

nsdictionary *mydic=[[nsdictionary alloc]initwithobjectsandkeys:@"張三",@"name",@"李四",@"name", nil];

nsuinteger count = [mydic count];

nslog(@"詞典的數量為: %lu",count);

nsenumerator * myenumerator = [mydic keyenumerator];

for (nsobject *object in myenumerator)

myenumerator = [[mydic allvalues] objectenumerator];

nsstring *value;

while((value = [myenumerator nextobject]))

//通過key找到value

nsobject *myobject = [mydic objectforkey:@"name"];

if (myobject != nil)

nsmutabledictionary *mydic2 = [nsmutabledictionary dictionarywithcapacity:10];

[mydic2 setobject:@"alex hu" forkey:@"name"];

[mydic2 setobject:@"1388888888" forkey:@"mobile number"];

for (nsobject *object in [mydic2 objectenumerator])

nsset *myset=[nsset setwithobjects:@"a",@"b",@"c",@"d",[nsnumber numberwithinteger:123], nil];

count=[myset count];

nslog(@"count= %lu",count);

myenumerator=[myset objectenumerator];

for (nsobject *object in myenumerator)

if ([object isequal:@"b"])

}nsarray *mysetarr=[myset allobjects];

for (nsuinteger i=0; i

if ([myset containsobject:@"d"])

nsfilemanager *fm=[nsfilemanager defaultmanager];

for(nsstring *filename in [fm enumeratoratpath:documentsdirectory])

}

nslog(@"hello, world!");

nsdictionary *mydic=[[nsdictionary alloc]initwithobjectsandkeys:@"張三",@"name",@"李四",@"name", nil];

nsuinteger count = [mydic count];

nslog(@"詞典的數量為: %lu",count);

nsenumerator * myenumerator = [mydic keyenumerator];

for (nsobject *object in myenumerator)

myenumerator = [[mydic allvalues] objectenumerator];

nsstring *value;

while((value = [myenumerator nextobject]))

//通過key找到value

nsobject *myobject = [mydic objectforkey:@"name"];

if (myobject != nil)

nsmutabledictionary *mydic2 = [nsmutabledictionary dictionarywithcapacity:10];

[mydic2 setobject:@"alex hu" forkey:@"name"];

[mydic2 setobject:@"1388888888" forkey:@"mobile number"];

for (nsobject *object in [mydic2 objectenumerator])

nsset *myset=[nsset setwithobjects:@"a",@"b",@"c",@"d",[nsnumber numberwithinteger:123], nil];

count=[myset count];

nslog(@"count= %lu",count);

myenumerator=[myset objectenumerator];

for (nsobject *object in myenumerator)

if ([object isequal:@"b"])

}nsarray *mysetarr=[myset allobjects];

for (nsuinteger i=0; i

if ([myset containsobject:@"d"])

nsfilemanager *fm=[nsfilemanager defaultmanager];

for(nsstring *filename in [fm enumeratoratpath:documentsdirectory])

}

NSEnumerator用法小結

3 列舉 nsenumerator 遍歷陣列每個索引處的物件,你可以編寫乙個0到 array count 的迴圈,而nsenumerator用來描述這種集合迭代運算的方式。通過objectenumerator向陣列請求列舉器,如果想從後向前瀏覽集合,可使用reverseobjectenumerato...

localStorage用法小總結

記得前端大神winter說過 要建立起自己的知識體系,第一步 尋找線索 找準確 全面的 第二步,建立聯絡 第三步,是分類 用思維導圖 第四步,是追本溯源 找到最初的那個它 今天,懷著崇拜大神的心情,來學習下 localstorage的基本用法。用到的學習機是chrome瀏覽器,畢竟大廠權威性還是可以...

localStorage用法小總結

記得前端大神winter說過 要建立起自己的知識體系,第一步 尋找線索 找準確 全面的 第二步,建立聯絡 第三步,是分類 用思維導圖 第四步,是追本溯源 找到最初的那個它 今天,懷著崇拜大神的心情,來學習下 localstorage的基本用法。用到的學習機是chrome瀏覽器,畢竟大廠權威性還是可以...