IOS開發基礎之二維數組詳解
首先我們知道OC中是沒有二維數組的,二維數組是通過一位數組的嵌套實現的,但是別忘了我們有字面量,實際上可以和C/C++類似的簡潔地創建和使用二維數組。這裡總結了創建二維數組的兩種方法以及數組的訪問方式。
通過字面量創建和使用二維數組(推薦)
// 1.字面量創建二維數組並訪問(推薦) NSArray *array2d = @[ @[@11,@12,@13], @[@21,@22,@23], @[@31,@32,@33] ]; // 字面量訪問方式(推薦) NSLog(@"array2d[2][2]:%@",array2d[2][2]); // 數組對象函數訪問 NSLog(@"array2d[2][2]:%@",[[array2d objectAtIndex:2] objectAtIndex:2]);
打印結果:
2017-01-05 21:59:49.694 SingleView[10483:506166] array2d[2][2]:33 2017-01-05 21:59:49.695 SingleView[10483:506166] array2d[2][2]:33
通過嵌套原本的數組對象使用二維數組
// 2.另外一種循環嵌套穿件二維數組的方式 NSMutableArray *mulArrayD1 = [[NSMutableArray alloc]init]; // 第一維數組 // 添加第二維 for(NSUInteger i = 1;i <= 3; i++) { NSArray *arrayD2 = @[@(i*10+1), @(i*10+2), @(i*10+3)]; [mulArrayD1 addObject:arrayD2]; } // 字面量訪問方式(推薦) NSLog(@"array2d[2][2]:%@",mulArrayD1[2][2]); // 數組對象函數訪問 NSLog(@"array2d[2][2]:%@",[[mulArrayD1 objectAtIndex:2] objectAtIndex:2]);
打印結果:
2017-01-05 21:59:49.695 SingleView[10483:506166] array2d[2][2]:33 2017-01-05 21:59:49.695 SingleView[10483:506166] array2d[2][2]:33
問題:
OC中是否有二維數組,如何實現?
OC中沒有二維數組,但可以通過一維數組的嵌套實現。
感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!