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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

NSArray创建和使用

發布時間:2023/12/18 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 NSArray创建和使用 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
// // main.m // NSArray // // Created by dingxiaowei on 13-5-12. // Copyright (c) 2013年 dingxiaowei. All rights reserved. // #import <Foundation/Foundation.h> #import "Student.h" void arrayCreate(){//靜態創建數組,a不需要我們管理內存NSArray *array=[NSArray array];array = [NSArray arrayWithObject:@"abc"];array=[NSArray arrayWithObjects:@"d",@"e",@"f",nil];NSLog(@"%@",array);NSLog(@"數組的元素個數:%zi",[array count]); }void arrayUse(){NSArray *obj=[[[NSArray alloc] init] autorelease];NSArray *array=[NSArray arrayWithObjects:@"a",@"b",@"c",obj,nil];if([array containsObject:@"a"]){NSLog(@"數組中包含了a元素");}NSLog(@"最后一個元素是:%@",[array lastObject]);NSLog(@"第2個元素是:%@",[array objectAtIndex:1]);NSLog(@"c元素的位置:%zi",[array indexOfObject:@"c"]+1); } #pragma mark - 數組的內存管理 void arrayMemory(){Student *stu1=[[Student alloc] init];Student *stu2=[[Student alloc] init];Student *stu3=[[Student alloc] init];NSLog(@"stu1的計數器%i",[stu1 retainCount]);//注意:將一個OC對象塞給array之后,這個對象的計數器加1NSArray *array=[[NSArray alloc] initWithObjects:stu1,stu2,stu3,nil]; //注意:將一個OC對象塞給array之后,這個對象的計數器加1NSLog(@"stu1的計數器%i",[stu1 retainCount]);NSLog(@"元素個數:%zi",array.count);[stu1 release];[stu2 release];[stu3 release];[array release]; } #pragma mark - 給數組里面的元素發送信息 void arrayMessage(){Student *stu1=[Student student];Student *stu2=[Student student];Student *stu3=[Student student];NSArray * array=[NSArray arrayWithObjects:stu1,stu2,stu3, nil];//靜態方法不需要我們管理內存//將array里面多有對象都調用一次test方法//[array makeObjectsPerformSelector:@selector(test)];[array makeObjectsPerformSelector:@selector(test:) withObject:@"123"]; //注意冒號也是方法名的一部分,這個頂多只支持傳一個參數 }#pragma mark - 遍歷數組1(基本for循環遍歷) void arrayFor1(){Student *stu1=[Student student];NSArray * array=[NSArray arrayWithObjects:@"1",@"2",@"3",stu1,nil];//任何OC對象都可以塞進數組中int count=array.count; //得到數組的元素個數for(int i=0;i<count;i++){ //返回idid obj=[array objectAtIndex:i]; //id=void *NSLog(@"%->%@",i,obj);} } #pragma mark - 遍歷數組2(快速遍歷) void arrayFor2(){Student *stu1=[Student student];NSArray * array=[NSArray arrayWithObjects:@"1",@"2",@"3",stu1,nil];//任何OC對象都可以塞進數組中//快速遍歷int i=0;for(id obj in array){NSLog(@"%->%@",i,obj);i++;} } #pragma mark - 遍歷數組3(用Block遍歷) void arrayFor3(){Student *stu1=[Student student];NSArray * array=[NSArray arrayWithObjects:@"1",@"2",@"3",stu1,nil];//任何OC對象都可以塞進數組中//用Block遍歷[array enumerateObjectsUsingBlok:^(id obj,NSUinter idx,BOOL *stop){NSLog(@"%i-%@",idx,obj);if(idx==2){//利用指針變量修改外面BOOL的值*stop=YES;//調用指針參數 改變外面的變量 終止循環 }}];} #pragma mark - 遍歷數組4(用迭代器遍歷) void arrayFor4(){Student *stu1=[Student student];NSArray * array=[NSArray arrayWithObjects:@"1",@"2",@"3",stu1,nil];//任何OC對象都可以塞進數組中//用迭代器遍歷數組//獲取數組的迭代器NSEnumerator *enumerator=[array objectEnumerator]; // //取得下一個對象 // [enumerator nextObject];id obj=nil;if(obj=[enumerator nextObject]){NSLog(@"obj=%@",obj);} // //返回迭代器中所有的元素 // [array allObjects];//注意:這個方法只能返回沒由遍歷過的,要使用這種方法返回所有的對象,就放在nextObject方法之前!!!NSArray * array2=[array allObjects];NSLog(@"array2:%@",array2); } int main(int argc, const char * argv[]) {@autoreleasepool {arrayCreate();arrayUse();arrayMemory();arrayFor1();arrayFor2();arrayFor3();arrayFor4();}return 0; }

?

轉載于:https://www.cnblogs.com/dingxiaowei/archive/2013/05/13/3076005.html

總結

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

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