NSIndexPath *index_path;
NSUInteger u_array[] = {0, 0, 0};
index_path = [NSIndexPath indexPathWithIndexes : u_array length : 3];
上面創建一個長度爲3的NSIndexPath。有沒有辦法用較少的語句來做同樣的事情?有沒有更方便的方法來創建一個NSIndexPath對象?
NSIndexPath *index_path;
NSUInteger u_array[] = {0, 0, 0};
index_path = [NSIndexPath indexPathWithIndexes : u_array length : 3];
上面創建一個長度爲3的NSIndexPath。有沒有辦法用較少的語句來做同樣的事情?有沒有更方便的方法來創建一個NSIndexPath對象?
這可能是最好的,你可以這樣做:
NSUInteger u_array[] = {0, 0, 0};
NSIndexPath *index_path = [NSIndexPath indexPathWithIndexes:u_array length:3];
如果你在談論一個UITableView
使用它,還有的UIKit additionindexPathForRow:inSection:
+ (NSIndexPath *)indexPathForRow:(NSInteger)row inSection:(NSInteger)section
下面是如何使用它:
NSIndexPath *myIndexPath = [NSIndexPath indexPathForRow:3 inSection:4];
感謝您的回答... – Stanley 2012-02-17 13:38:59
的我問這個的原因是我試圖在上面的第二個陳述中把「{0,0,0}」替換成u_array。即使使用了類型轉換,編譯器也不會接受它。我想知道如果有人能做到這一點。你有沒有解釋爲什麼它不能完成? – Stanley 2012-02-17 19:24:59
是的:您可以使用C中的大括號來初始化或分配給一個數組,但是大括號中逗號分隔的項目列表本身不是數組。或換句話說,在C中沒有像數組字面這樣的東西。 – yuji 2012-02-17 19:30:38