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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

NSArray和NSMutableArray对象的使用

發布時間:2024/4/15 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 NSArray和NSMutableArray对象的使用 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

/* 初始化方法:
??? 1.init返回一個空數組
???? 2.initWithArray從已有數組初始化
???? 3.initWithContentsOfFile//從plist文件加載
???? 4.initWithContentsOfUrl//從網絡地址上獲取
???? 5.initWithObject用一個對象初始化
???? 6.initWithObjects從多對象初始化
? ?
??? self.theDataArray=[[NSMutableArray alloc]initWithCapacity:5];//指定有五個元素初始化
???????????????????????????? ?
???? */??? ?
?? ?
??? /*打印第一個元素:
???? NSLog(@"the object? is:%@",[theDataArray firstObjectCommonWithArray:theDataArray]);
?? */
??? /*打印最后一個元素:
??? NSLog(@"the object? is:%@",[theDataArray lastObject]);
??? */
????? /*枚舉所有元素,方法一:
?????? for (NSString * theStr in theDataArray) {
???????? NSLog(@"%@:",theStr);
??????? }
??? */
??? /*枚舉所有元素,方法二:
??????? for (int i=0,i<[theDataArray count],i++) {
?????? //NSLog(@"%@:",[theDataArray objectAtIndex:i]);
????????? }
????? */
?? /* 枚舉所有元素,方法三,用枚舉器:
??? NSEnumerator *enumerator=[theDataArray objectEnumerator];
???? id obj;
???? while (obj =[enumerator nextObject]) {
??????? NSLog(@"%@",obj);
?? }
??? */
?? ?
???? /*? //添加元素
??? [theDataArray addObject:@"這是新添加的元素"];//從最后開始添加
?????? */
?? ?
??? /* //從指定索引插入元素
???? [theDataArray insertObject:@"this is inerted object" atIndex:0];//是插入到指定 索引的前面
???? */
?? ?
?? ?
??? /* //修改.更新元素
???? [theDataArray replaceObjectAtIndex:0 withObject:@"new obj"];//指定索引修改
???? */
?? ?
??? /* //判斷數組是否包含某個對象
??? ?
??? if ([theDataArray containsObject:@"selectiont"]) {
??????? NSLog(@"the object selection is contained in array");
??? }
??? else{
??????? NSLog(@"not contain");
??? }
??? */
??? /* //獲取元素索引
??? NSLog(@"the idx is:%i",[theDataArray indexOfObject:@"selection"]);
??? */
?? ?
??? /*//數組元素排序
??? ?
???? 方法一:

???? ?
? ?
???
NSArray *theTempArr=[[NSArray alloc] initWithArray:[theDataArray
sortedArrayUsingSelector:@selector(caseInsensitiveCompare:)]];
?? */
??? //[theDataArray sortedArrayUsingSelector:@selector(caseInsensitiveCompare:)];? // or @selector(compare:)
?? ?
???/*//數組元素排序
???? 方法二:

??? ?
???? NSLog(@"before sorted array:%@",theDataArray);
??? NSCountedSet *cset=[[NSCountedSet alloc] initWithArray:theDataArray];
?? ?
???? NSArray *theTempArr=[[NSArray alloc] initWithArray:[[cset allObjects]sortedArrayUsingSelector:@selector(compare:)]];
?????
??? NSLog(@"after sorted array:%@",theTempArr);
?????? */
?? /* //對數組對象進行排序?? NSSortDescriptor
??? NSSortDescriptor *sortDescriptor=[[NSSortDescriptor alloc] initWithKey:@"name" ascending:YES];//@“name”是對象屬性
??? [theDataArray sortUsingDescriptors:[NSArray arrayWithObject:sortDescriptor]];//返回排序好的數組

?? //還可以用自定義方法:[theDataArray sortUsingSelector:@selector(custom Method:)];
-(NSInteger)customMethod:(someObject *)otherObj{
?? NSCompareResult compareResult=[self.name compare:otherObj.name];
? if(compareResult == NSOrderedSame)? return 0;
if(compareResult == NSOrderedAscending)? return 1;
? else return -1;
}
*/

/*? //對象數組過濾(NSPredicate)

NSArray? *keyArray=[[NSArray alloce]initWtihObjects:@"A",@"B",nil];
? for (NSString *key in keyArray)
???? {
? //定義規則:
???
NSPredicate *apredicate=[NSPredicate predicateWithFormat:@"SELF.name
beginswith[c]? %@",key]; //SELF.name是對象屬性,beginswith[c]? %@",key
表示選出name以key開頭的對象
? //或者 :
NSPredicate *apredicate=[NSPredicate
predicateWithFormat:@"SELF.name contains [c]? %@",key]; //contains[c]?
%@",key 表示選出name中包含有key的對象
? //或者 :
NSInteger age=20;
NSPredicate *apredicate=[NSPredicate predicateWithFormat:@"SELF.age >? %i",age]; // 表示選出age>20的對象

? //或者 :
NSString * matchStr=@"hel*";
NSPredicate *apredicate=[NSPredicate predicateWithFormat:@"SELF.name? like %@",matchStr]; // 表示選出name中包含與字符串matchStr相似的對象

??? NSArray *newArr=[theDataArray filteredArrayUsingPredicate:apredicate];
???????? [theDataDict setValue:newArr forKey:key];
?????? }

*/

/*? //刪除數組元素
NSMutableArray *tempArray=[[NSMutableArray alloc]initWithObjects:@"one",@"tow",@"threr",nil];
?[tempArray removeObjectAtIndex:0];//從指定索引移除
?[tempArray removeAllObjects];//移除所有元素
? [tempArray removeLastObject];//移除最后那個元素
? [tempArray removeObjectsInArray:newArray];//移除指定數組中元素
?? [tempArray? removeObjectsAtIndexes: NSIndexSet *__strong)];//從所選擇的索引中移除
*/

轉載于:https://www.cnblogs.com/tony_cap/archive/2012/04/15/2450536.html

總結

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

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。