1:陣列的基本概念
foundation中的陣列(nsarray,nsmutablearray)是一組有序的物件集合,通過索引下標獲取到陣列中的
各個元素.與字串相同,陣列也是可變和不可變陣列之分.此外,陣列中不可以存放基本陣列型別,只能存放類的
例項(物件).如若需要將基本資料型別,結構體放入陣列中,需要通過nsnumber,nsvalue進行資料的「封裝」
2:不可變陣列-nsarray
一:陣列的初始化
// 不可變陣列的初始化?
1
2
3
4
5
nsarray *firstarray=[nsarray arraywithobject:@
"abc"
];
// 多個元素初始化時,注意以nil作為陣列的結束
nsarray *secondarray=[nsarray arraywithobjects:@
"one"
,
"two"
, nil];
nsarray *thirdarray=[nsarray arraywitharray:secondarray];
nsarray *fourarray=[nsarray arraywithcontentsoffile:@
];
?1
二:獲取陣列中的元素個數和訪問
?1
? 1
//獲取陣列中的元素個數和訪問 int count=[secondarray count]; nslog(@"secondarray all element %ld",count); nsstring *string1=[secondarray objectatindex:1]; nslog(@"secondarray of element 1 is %@",string1);
三:在原來的陣列物件的基礎上面,追加物件返回新的陣列?
1
? 1
//追加陣列的內容 nsarray *array5=[secondarray arraybyaddingobject:@"end"]; nslog(@"array5 is %@",array5);
四:用指定的字元把資料用字串形式顯示出來?
1
? 1
// 陣列——>字串 nsstring *string2=[array5 componentsjoinedbystring:@","]; nslog(@"%@",string2);
五: 查詢陣列中是否包含指定的物件?
1
//判斷陣列中是否存在指定的物件
?1
boolean result=[array5 containsobject:@
"two"
];
if
(result)
else
六:根據指定的物件返回索引下標,返回陣列中最後的乙個元素
//根據指定的物件返回索引下標,返回陣列中最後的乙個元素?
1
2
3
4
nsinteger *index=[array5 indexofobject:@
"two"
];
nslog(@
"index:%ld"
,index);
nsstring *string3 =[array5 lastobject];
nslog(@
"%@"
,string3);
3:可變陣列的常用方法(nsmutablearray)?
1
一:初始化 設定元素個數為
5
,但可以更改,追加數值物件
?1
? 1
// 初始化,指定陣列的個數為5,但是可以更改的 nsmutablearray *mutablearrray1=[nsmutablearray array];//空的陣列 nsmutablearray *mutablearrray2=[nsmutablearray arraywithcapacity:5]; nsmutablearray *mutablearrray3=[nsmutablearray arraywithobjects:@"one",@"two", nil]; nslog(@"%@",mutablearrray3); [mutablearrray3 addobject:@"three"]; nslog(@"%@",mutablearrray3);
二:向陣列中指定下標插入元素?
1
? 1
//向陣列中指定下標插入元素 [mutablearrray3 insertobject:@"ccc" atindex:2]; nslog(@"%@",mutablearrray3);
三:移除指定元素,移除最後乙個元素,移除指定下標的元素?
1
? 1
//移除最後乙個元素 [mutablearrray3 removelastobject]; nslog(@"%@",mutablearrray3); //移除指定元素 [mutablearrray3 removeobject:@"one"]; //移除指定下標的元素 [mutablearrray3 removeobjectatindex:0]; nslog(@"%@",mutablearrray3);
四:向陣列中新增陣列?
1
//向數種新增陣列
?1
nsmutablearray *mutablearray4=[nsmutablearray arraywithobjects:@
"four"
,@
"five"
, nil]; [mutablearrray3 addobjectsfromarray:mutablearray4]; nslog(@
"%@"
,mutablearrray3);
五:陣列中的物件替換?
1
//陣列中的物件替換
?1
[mutablearrray3 replaceobjectatindex:
1
withobject:@
"4"
]; nslog(@
"%@"
,mutablearrray3);
?1
3
:陣列的遍歷
?1
一:常規遍歷
?1
nsarray *array6=[nsmutablearray arraywithobjects:@
"x"
,@
"y"
,@
"z"
, nil];
?1
nsinteger size=[array6 count];
for
(nsinteger i=
0
;i二:高效遍歷
?1
//高效遍歷
?1
for
(nsstring *str in array6)
OC中NSString 的常用方法
nsstring str1 beijing nsstring str2 beijing 全部轉為大寫 nslog str1 uppercasestring 全部轉為小寫 nslog str1 lowercasestring 首字母大寫 nslog str1 capitalizedstring 比較兩...
OC中NSString 的常用方法
cpp view plain copy nsstring str1 beijing nsstring str2 beijing 全部轉為大寫 nslog str1 uppercasestring 全部轉為小寫 nslog str1 lowercasestring 首字母大寫 nslog str1 c...
OC中NSString 的常用方法
nsstring str1 beijing nsstring str2 beijing 全部轉為大寫 nslog str1 uppercasestring 全部轉為小寫 nslog str1 lowercasestring 首字母大寫 nslog str1 capitalizedstring 比較兩...