4
我有這樣的定義塊的C數組裏面:訪問塊的C數組塊
void (^block1)() = ^void() {
doSomething1();
doSomething2();
};
void (^block2)() = ^void() {
doSomething3();
doSomething4();
};
// etc.
typedef void (^myBlockType)();
myBlockType arrayBlock[2];
arrayBlock[0] = block1;
arrayBlock[1] = block2;
但後來我試圖從訪問塊內部的數組c,像
void (^adjust)(int value) = ^void(int value) {
myBlockType myBlock = arrayBlock[value];
};
和Xcode中與嗚嗚
不能引用聲明以與陣列型內部塊
如果這是一個像浮點數,整數等東西的數組,那麼有this solution但是如何爲C數組塊做到這一點?
我可以做
myBlockType array = calloc(2, sizeof(myBlockType));
?這是正確的方法嗎?在那種情況下,我如何初始化這些值?
兩個問題(一)你不說你爲什麼不使用'NSArray',這將有助於瞭解(二)鏈接*問題*(而不是*答案*)提供你有一個解決方案 - 它有一個X數組,你有一個Y數組,對程序沒有任何影響 - 所以那對你沒有用?如果你編輯問題來回答可能是最好的(只留下你已經這樣做的評論)。 – CRD
對不起,我的C很爛,但我必須使用一個C數組,因爲我必須與之交互的模塊,而不是我寫的,都是用C語言編寫的。除了我的C很糟糕之外,我的另一個問題是,數組不能通過使用'array [i]'語法來訪問。我已經嘗試過了,並且Xcode在各處都抱怨着。我猜這個數組上的元素必須使用指針來訪問,而且我不知道如何去做,或者甚至用元素來填充數組來開始。 – SpaceDog
繼續......並且看着我對C語言知識不瞭解的鏈接並沒有讓我在那裏看到答案......如果你能回答我如何創建它,填充和獲取這些項目,我會接受答案......是的,我知道,我的C很臭。謝謝 – SpaceDog