2010-12-23 136 views
1

中的二維數組我試圖創建一個2維的整數數組。Objective-C中的二維數組Objective-C

我知道我可以使用C,以下列方式:

int levelData[3][4] = {{1,1,1,1}, {1,0,0,1}, {1,1,1,1}}; 

的是,我想等其他類能夠存取權限這個數據,所以我必須包括在頭文件中這個變量,這是問題出在哪裏:

聲明爲int **levelData, int levelData[3][4]或什麼都不起作用。

任何人都可以幫助我嗎?

在.h文件中

回答

1

找到了解決方案,我有一個靜態初始化器。你不能使用這些。

2

你寫

extern int levelData[3][4]; 

在您的m/.c文件編寫

int levelData[3][4]= {{1,1,1,1},{1,0,0,1},{1,1,1,1}}; 

編輯:

無論如何,最好是避免全球變量,而是將其作爲參數傳遞,或者將它作爲您的objective-c類中的ivar。這避免了難以察覺的模塊之間的依賴關係,例如如果一個函數將levelData作爲參數,那麼清楚的是,該函數對該參數進行操作,但是通過使該函數具有全局性,您無法輕鬆查看函數正在使用什麼。

+0

我得到一個其它的錯誤: 未定義的符號: 「_levelData」,從引用:在Game.o _levelData $ non_lazy_ptr(也許你的意思是:_levelData $ non_lazy_ptr) LD:符號(S)沒有發現 – Juulie 2010-12-23 02:17:46