數(shù)組是iOS開(kāi)發(fā)中最基本的知識(shí)點(diǎn),在此總結(jié)一下一些基本的。以后用到新的知識(shí)點(diǎn)在繼續(xù)補(bǔ)充。
1、不可變數(shù)組
1、數(shù)組的幾種初始化方式
//創(chuàng)建數(shù)組的同時(shí),并往數(shù)組里存入一個(gè)元素
NSArray *array0 = [NSArray arrayWithObject:s1];
//往數(shù)組里面存儲(chǔ)多個(gè)元素。注意:最后的nil
NSArray *array1 = [[NSArray alloc] initWithObjects:s1,s2,s3,nil];
//類方法的創(chuàng)建
NSArray *array2 = [NSArray arrayWithObjects:s1,s2,s3,nil];
//創(chuàng)建二維數(shù)組。c[3][4]
NSArray *array4 = [NSArray arrayWithObjects:array3,array1,nil];
//通過(guò)下標(biāo)取元素
NSString *str1 = [array1 objectAtIndex:2];
//數(shù)組的元素個(gè)數(shù)
NSUInteger count1 = [array1 count];
//判斷數(shù)組中是否包含了某一個(gè)元素
BOOLisContain = [array1 containsObject:@"lisi"];
//查找一個(gè)對(duì)象在數(shù)組中的下標(biāo)index是下標(biāo)的意思
NSUInteger index = [array1 indexOfObject:@"lisi--"];
if(index == NSNotFound) { ? ?NSLog(@"對(duì)不起,沒(méi)有這個(gè)元素"); ? ? }else{ ? ? NSLog(@"index = %ld",index); ?}
//使用連接符,將數(shù)組中的元素進(jìn)行連接起來(lái):componentsJoinedByString
NSString *joinString = [array1 componentsJoinedByString:@"-"];
//將字符串分割成數(shù)組:componentsSeparatedByString:字符串的分割
NSString *s =@"zhang2liu2ping";
NSArray *separ = [s componentsSeparatedByString:@"2"];
//訪問(wèn)最后一個(gè)元素
NSString *lastObj = [separ lastObject];
//追加元素
NSArray *array5 = [array1 arrayByAddingObject:@"wangermazi"];
//數(shù)組常見(jiàn)問(wèn)題總結(jié)
1.數(shù)組中只能存放對(duì)象,不能存放基本數(shù)據(jù)類型
NSArray *array6 = [NSArray arrayWithObjects:1,2, nil];? //錯(cuò)誤
2.數(shù)組越界
//錯(cuò)誤提示
*** -[__NSArrayI objectAtIndex:]: index 4 beyond bounds [0 .. 3]
3.數(shù)組中存放的對(duì)象類型要一致