日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

NSArray和NSMutableArray

發(fā)布時間:2025/6/17 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 NSArray和NSMutableArray 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

1.不可變數(shù)組(NSArray)的操作

? ?1.1.不可變數(shù)組的聲明,不可變數(shù)組生命有很多方式,這里只有最基本的一種

// 聲明一個數(shù)組 // 數(shù)組的元素可以是任意的對象 // 數(shù)組中裝的是對象的地址 NSArray * array = [[[NSArray alloc] initWithObjects:@"one",@"two",@"three", nil] autorelease];

 1.2.直接打印數(shù)組,會將數(shù)組的元素都打印出來

// 聲明一個數(shù)組 // 數(shù)組的元素可以是任意的對象 // 數(shù)組中裝的是對象的地址 NSArray * array = [[[NSArray alloc] initWithObjects:@"one",@"two",@"three", nil] autorelease];// 數(shù)組的遍歷 // 直接打印數(shù)組的時候,會將數(shù)組的每個元素都打印出來,在數(shù)組類中重寫了description方法,%@打印對象,就會獲得description方法的返回值 NSLog(@"my array is %@",array);

 1.3.數(shù)組的遍歷

? ? ? ? 1.3.1.枚舉器法遍歷數(shù)組

NSEnumerator * enumerator = [array objectEnumerator]; id obj; while(obj = [enumerator nextObject]){NSLog(@"枚舉器法進行數(shù)組的遍歷:%@",obj); }

   ?1.3.2.foreach遍歷

for(id obj in array){NSLog(@"foreach遍歷數(shù)組元素是 :%@",obj); }

   ?1.3.3.for遍歷

for(int i = 0; i < [array count];i++){NSLog(@"for方法返回的數(shù)組元素是:%@",[array objectAtIndex:i]); }

2.可變數(shù)組(NSMutableArray)的操作,可變數(shù)組是不可變數(shù)組的子類,所以可變數(shù)組可以使用不可變數(shù)組的方法

? ?2.1.向可變數(shù)組中添加元素

NSMutableArray *mutableArray = [[[NSMutableArray alloc] init] autorelease]; [mutableArray addObject:@"haha"]; [mutableArray addObject:@"hoho"]; [mutableArray addObject:@"nienie"]; NSLog(@"mutableArray is %@",mutableArray);

 2.2.刪除元素 使用remove的一系列方法

[mutableArray removeObject:@"hoho"]; // 根據(jù)內(nèi)容刪除數(shù)組對象 [mutableArray removeObjectAtIndex:0]; // 根據(jù)數(shù)組下標刪除對象 NSLog(@"刪除后mutableArray is %@",mutableArray);

? ?2.3.交換兩個數(shù)組元素的位置

[mutableArray exchangeObjectAtIndex:0 withObjectAtIndex:1]; NSLog(@"交換位置后的mutableArray is %@",mutableArray);

 2.4.可變數(shù)組的遍歷,其他和NSArray一致

? ? ? ? 2.4.1.在枚舉器法正序遍歷和foreach方法遍歷數(shù)組中,不能去改變這個數(shù)組中元素的值,但是在可變數(shù)組的逆序遍歷中可以修改可變數(shù)組中的元素

NSMutableArray *testMutableAray = [[[NSMutableArray alloc] init] autorelease]; [testMutableAray addObject:@"張三"]; [testMutableAray addObject:@"李四"]; [testMutableAray addObject:@"王五"]; [testMutableAray addObject:@"趙六"];NSEnumerator * myenumerator = [testMutableAray reverseObjectEnumerator];NSString *str;while (str = [myenumerator nextObject]) {[testMutableAray removeLastObject]; } NSLog(@"%@",testMutableAray);

? ?3.字符串和數(shù)組之間的轉(zhuǎn)化

? ? ? ? 3.1.將字符串分割成數(shù)組

NSString * mySubstr = @"I am a poor man"; NSLog(@"原始的字符串是:%@",mySubstr); NSArray * mySubArray = [mySubstr componentsSeparatedByString:@" "]; NSLog(@"分割后的數(shù)組是:%@",mySubArray);

   ? 3.2.將數(shù)組拼接成字符串

// 將數(shù)組拼接成字符串 // 方法1. NSEnumerator * mySubEnumerator = [mySubArray reverseObjectEnumerator]; NSMutableArray * subMutableArray = [[[NSMutableArray alloc] init] autorelease]; id subObj; while (subObj = [mySubEnumerator nextObject]) {[subMutableArray addObject:subObj];NSLog(@"逆序后遍歷的字符串是:%@",subObj); }// 方法2 // componentsJoinedByString后面的“--”是字符串之間的連接符 NSString * joinedStr = [subMutableArray componentsJoinedByString:@"--"]; NSLog(@"拼接之后生成的新的數(shù)組是:%@",joinedStr);

  

轉(zhuǎn)載于:https://www.cnblogs.com/zwhFighting/p/4550783.html

總結(jié)

以上是生活随笔為你收集整理的NSArray和NSMutableArray的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。