2011-07-21 60 views
5

這是我的一段代碼:如何在Objective-C內聯中聲明好的舊C數組?

NSUInteger indexArr[] = {1,2,3,4}; 

NSIndexSet *indexSet = [NSIndexPath indexPathWithIndexes:indexArr length:4]; 

是否有申報indexArr內聯的方式,像

NSIndexSet *indexSet = [NSIndexPath indexPathWithIndexes:{1,2,3,4} length:4]; 

什麼? 這是因爲我正在寫具有一定的參考路徑的測試,我想保存的代碼不是有用的任何人行...

最好的問候,hijolen

+0

提示:'length'參數可以傳遞'sizeof(indexArr)/ sizeof(indexArr [0])'的值。當人們添加/刪除一個或兩個元素時,有助於避免將來出現錯誤。 –

+0

多數民衆贊成在完美... :)謝謝你...我的代碼不斷變得越來越好... –

回答

11

你嘗試唯一的問題是,您需要將其轉換爲編譯器知道它是正確的類型。

NSIndexSet *indexSet = [NSIndexPath indexPathWithIndexes:(NSUInteger[]){1,2,3,4} length:4]; 
+0

請注意,這種語法是一個GCC主題。 –

+0

完美!謝謝! –