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瀏覽器,畢竟大廠權威性還是可以...