ios開發基礎之二維陣列詳解
首先我們知道oc中是沒有二維陣列的,二維陣列是通過一位陣列的巢狀實現的,但是別忘了我們有字面量,實際上可以和c/c++類似的簡潔地建立和使用二維陣列。這裡總結了建立二維陣列的兩種方法以及陣列的訪問方式。
通過字面量建立和使用二維陣列(推薦)
// 1.字面量建立二維陣列並訪問(推薦)
nsarray *array2d = @[
@[@11,@12,@13],
@[@21,@22,www.cppcns.com@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++)
// 字面量訪問方式(推薦)
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] arr程式設計客棧[2][2]:33
問題:oc中是否有二維陣列,如何實現?
oc中沒有二維陣列,但可以通過一維陣列的巢狀實現。
本文標題: ios開發基礎之二維陣列詳解
本文位址:
C 之二維陣列
在第七單元中,程式清單7.10 strgback.cpp,部分如下 include char buildstr char c,int n prototype int main 輸出如下 enter a character l enter an integer 5 lllll done 請按任意鍵繼續...
二維陣列詳解
問題 cannot convert from double 10 10 to double 例如 double arry 5 10 double pp pp arry 直接的賦值會提示錯誤 cannot convert from double 10 10 to double 解決方法 double ...
詳解二維陣列
一 定義 int arr 3 int brr 3 4 對比一位陣列,二維陣列具有行和列兩個引數,在定義上,與一維陣列相似 資料型別 陣列名 行 列 二 初始化 同樣,對於一維陣列的初始化,如下所示 int arr 3 int arr 3 其餘預設為0 那麼,二維陣列呢?二維陣列的初始化採用行優先的原...