我有被動態創建2個陣列。我在網上讀過一些例子,我完全不能理解它。我看到的是,陣列似乎是1維而不是2.如何創建一個二維數組目標C
下面的代碼將一些對象分配給數組「combineObjectIssues」,然後將其添加到「combineAll」中以獲得2D數組。我想要「currentObject.date」爲索引0,而「issuesDiscovered」數組爲索引1.
for (currentObject in currentObjects) {
[combineObjectIssues addObject:currentObject.date]; //2D Array Row
for (Issue *checkIssue in currentObject.issuesDiscovered) {
if (checkIssue) {
[issuesDiscovered addObject:checkIssue];
}
}
[tempIssues addObject:[issuesDiscovered copy]]; // to combine all array of issues
[combineOjectIssues addObjectsFromArray:[issuesDiscovered copy]]; //2D Array column
[combineAll addObject:[combineObjectIssues copy]];
[issuesDiscovered removeAllObjects]; //remove all objects;
[combineObjectIssues removeAllObjects]; //remove all objects
}
}
下面是我的combineAll數組輸出。
(
(
"2013-07-19 09:00:00",
"<Issue: 0x8c171f0>",
"<Issue: 0x8c16e50>",
"<Issue: 0x8c16d30>",
"<Issue: 0x8c16a10>",
"<Issue: 0x8c16090>",
"<Issue: 0x8c15bb0>",
"<Issue: 0x8c156d0>"
),
(
"2013-07-13 14:30:00"
),
(
"2013-06-08 14:30:00",
"<Issue: 0x8c10340>",
"<Issue: 0x8c0fad0>",
"<Issue: 0x8c0f590>",
"<Issue: 0x8c0f0c0>"
),
(
"2013-05-04 11:30:00"
)
)
正如你從輸出中看到的那樣,它是一個我不想要的1維數組。我想要的是[0] [0],它包含日期,對於[0] [1],它包含一系列問題。
我知道我的代碼有可能是不對的。因此,請協助我。感謝您的幫助。
您可以使用字面語法來提高可讀性:'combineAll [0] [1];'是等效的。 –
我做到了。但它只抓取<問題:0x8c171f0>而不是包含[0] [1]的7個問題的問題陣列。 –
它只會返回一個值,因爲在0位置有8個對象的數組。現在你已經調用了[0] [1],這意味着它將從該8值數組中返回編號爲1的對象。 –