#import <Foundation/Foundation.h> /* 1.C語言數組和oc數組的區別 數組:具備相同的數據類型的變量的有序集合 int ages[63]; 類型 數組名[元素個數]; 2.NSArray 不可變數組 一個是 可變數組 */ int main(int argc, const char * argv[]) { @autoreleasepool { //OC數組 是任意的對象地址類型的集合 //實例化數組對象的時候 最後要以nil做爲結束 //1.實例化一個數組對象 NSArray *arr=[[NSArray alloc]initWithObjects:@"one",@"two",@"thress", nil]; NSLog(@"arr:%@",arr); //2.實例化數組 用一個數組實例化另一個數組 NSArray *arr2=[[NSArray alloc]initWithArray:arr]; NSLog(@"arr2:%@",arr2); //3.類方法實例化對象 NSArray *arr3=[NSArray arrayWithObjects:@"oc",@"c",@"java",@"C#",nil]; NSLog(@"arr3:%@",arr3); //4 NSArray *arr4=[NSArray arrayWithObject:arr3]; NSLog(@"arr4:%@",arr4); //操做數組對象 //獲取數組元素個數 NSInteger count=[arr4 count]; NSLog(@"count:%ld",count); //獲取元素 指定索引、下標 NSString *str=[arr4 objectAtIndex:1]; NSLog(@"str:%@",str); //循環和數組 //普通for 循環遍歷oc數組 for (NSInteger i=0; i<[arr4 count]; i++) { NSLog(@"%@",[arr4 objectAtIndex:i]); } //快速枚舉 --》就是一個循環 /* for (元素類型 變量名 in 集合對象的地址) { } */ /* 快速枚舉過程--》只能讀數組的內容 不能修改數組內容 第0次循環 會把 數組arr4的第0個元素 給obj 第1次循環 會把 數組arr4的第1個元素 給obj 第2次循環 會把 數組arr4的第2個元素 給obj 以此類推 知道數組結束 循環就結束了 */ for (id obj in arr4) { NSLog(@"obj->%@",obj); } } return 0; }