1.oc的陣列成員是任意的物件指標 與c中的鍊錶結構類似(以nil結尾) 一切的陣列操作不能越界
oc的陣列分為不可變陣列nsarray 可變陣列nsmutablearray
nsarray * array = [[nsarray alloc]initwithobjects:@"one",@"two",@"three", nil];
nslog(@"%@",[array objectatindex:0]);//通過下標獲取陣列成員(下標從0開始)
nslog(@"%ld",[array count]);//獲取陣列有效成員個數 (不包括nil)
for(i = 0; i < [array count]; i++)
nslog(@"%@",array);//(oc)檢視陣列內容(先給array傳送description訊息,然後給每個成員都傳送乙個description訊息)
nsarray * array1 = [[nsarray alloc]initwitharray:array];//建立陣列物件 相當於拷貝
nsarray * arry2 = [nsarray arraywitharray:array];//建立陣列物件 相當於拷貝
nsenumerator * enumer = [array objectenumerator];//正序列舉器
//建立乙個列舉器 把陣列的每個元素的位址一次賦給列舉器,然後建立起某種關聯 (列舉器只能用來讀數組成員)
//列舉時 會和陣列建立某種關聯(修改監視器/迭代器) 限制列舉的同時不能修改元素 只能讀不能寫
id obj;
//第一次迴圈把陣列的第乙個元素賦給obj 第二次迴圈把第二個陣列元素賦給obj
while(obj = [enumer nextobject])
//快速列舉 第一次迴圈把array的第乙個元素賦給ob 第二次迴圈把array的第二個元素賦給ob 直到nil(只能讀不能改)
for(id ob in array)
//逆序輸出陣列(建立逆序列舉器 第一次迴圈把最後乙個元素賦給obj )
nsenumerator * enumer1 = [array reverseobjectenumerator];
while(obj = [enumer1 nextobject])
if([obj iskindofclass:[dog class]])//獲取類的型別 判是否是指定類的物件
if([obj ismemberofclass:[dog class]])
?
2.不可變陣列 ?
-------查詢
nsarray * array = [[nsarray alloc]initwithobjects:@"one",@"two",@"three",@"one", nil];
nsuinteger index = [array indexofobject:@"one123"];//返回第乙個找到的陣列成員對應的下標 找不到返回nsnotfound
index = [array indexofobject:@"one"inrange:nsmakerange(1, 3)];//在指定範圍內查詢
if(index != nsnotfound)
----抽取 組成新的陣列
nsarray * array1 = [array objectsatindexes:[nsindexset indexsetwithindexesinrange:nsmakerange(1, 3)]];
《數字集合》
nsindexset這是個數字集合類
[nsindexset indexsetwithindexesinrange:nsmakerange(1, 3)]產生乙個數字集合
3.可變陣列
nsmutablearray * array = [[nsmutablearray alloc]initwithobjects:@"one",@"two",@"three",@"four", nil];
[array addobject:@"five"];//在陣列尾部插入元素
[array insertobject:@"six"atindex:5];//在陣列指定下標位置插入元素(不能越界,最大值為length)
[array removeobject:@"six"];//刪除指定元素(陣列**現的所有位置都將被刪除)
[array removeobject:@"two"inrange:nsmakerange(0, 3)];//從指定下標位置開始的指定長度內刪除指定元素
[array removelastobject];//刪除最後乙個元素
[array removeallobjects];//刪除所有元素
[array replaceobjectatindex:3 withobject:@"ios"];//將指定下標位置元素替換為指定的元素
[array exchangeobjectatindex:0 withobjectatindex:3];//將指定下標的兩個元素進行交換
?
4.字串分割與拼接
//@"" 空的字串物件
-------分割
nsstring * ptr = @"i am a man";
nsarray * array = [ptr componentsseparatedbystring:@" "];//將字串整體作為分割條件 返回值為nsarray不可變陣列
nsmutablearray * array1 = [nsmutablearray arraywitharray:array];//若修改,則將nsarray轉化為nsmutablearray
nsarray * array2 = [ptr componentsseparatedbycharactersinset:[nscharacterset charactersetwithcharactersinstring:@", "]];//以字串中的字元作為分割條件進行分割
《字元集合》
nscharacterset 這是個字元集合類
[nscharacterset charactersetwithcharactersinstring:@", "]//把字串轉化為字元集合
-------拼接
nsstring * str = [array componentsjoinedbystring:@" "];
若分割條件出現在開頭或者結尾,則會出現空串@"",如果不需要,則需要轉化成nsmutablestring對空串進行處理
func1: [array1 removeobject:@""]; //找到空串直接刪除
func2: for(id obj in array1)
? 陣列以及字串拼接與分割
1.oc的陣列成員是任意的物件指標 與c中的鍊錶結構類似 以nil結尾 一切的陣列操作不能越界 oc的陣列分為不可變陣列 nsarray 可變陣列 nsmutablearray nsarray array nsarray alloc initwithobjects one two three nil...
OC字串分割,擷取,轉換,拼接
本篇文章主要闡述ios字串分割,擷取,轉換,拼接的一些邏輯,看是否含有分割符,主要介紹了兩種方式,一種沒有任何分割符的資料,乙個帶有分割符的資料。1,進行分割,每兩個一組 2,把資料分割之後,要進行去掉最後一位,給他們交換位置,再進行字串拼接。nsstring arre0 arr objectati...
Python 分割字串與拼接字串
號 實現字串連線 zhrq 95 zhrq95 a 95 b zhrq print b a 注 是反引號,因為其容易看錯,此方法不推薦 zhrq95 print b str a zhrq95 print b repr a repr a 與上面的類似 zhrq95 split 這個函式的作用是將字串根...