所以我試圖在數組中存儲一系列的方法(如果有意義的話)。Objective-C中的函數指針問題
void *pointer[3];
pointer[0] = &[self rotate];
pointer[1] = &[self move];
pointer[2] = &[self attack];
//...
我想要做的是有一個東西的數組,並基於數組中的對象的類型,調用某個方法。而不是有一羣如果聲明說,類似的:
if ([[myArray objectAtIndex:0] type] == robot]) {
//Do what robots do...
}
else if (...) {
}
else {
}
,並在計時器有此我希望使它像這樣:
pointer[[[myArray objectAtIndex:0] type]]; //This should invoke the appropriate method stored in the pointer.
現在上面的代碼表示(第一個代碼塊):
左值需要作爲一元'&'操作數。
如果您需要任何澄清只是問。
此外,爲了讓您知道我所調用的所有方法都是void類型,並且沒有任何參數。
我已經跑了你的代碼。它應該是選擇器[3]而不是選擇器[3],但是謝謝! – Dair
哎呀,很好。這就是我沒有測試過的複製過去編輯。固定。 – Jonah