NSIndexPath *index_path; NSUInteger u_array[] = {0, 0, 0}; index_path = [NSIndexPath indexPathWithIndexes : u_array length : 3];
Приведенное выше создает NSIndexPath с длиной == 3. Можно ли сделать то же самое с меньшим количеством операторов?
Если вы говорите об использовании его в UITableView, есть дополнение UIKit indexPathForRow:inSection:
UITableView
indexPathForRow:inSection:
+ (NSIndexPath *)indexPathForRow:(NSInteger)row inSection:(NSInteger)section
Вот как это использовать:
NSIndexPath *myIndexPath = [NSIndexPath indexPathForRow:3 inSection:4];
Это, вероятно, лучшее, что вы можете сделать:
NSUInteger u_array[] = {0, 0, 0}; NSIndexPath *index_path = [NSIndexPath indexPathWithIndexes:u_array length:3];
Только если вы используете iOS (вы пометили это iphone и cocoa , поэтому не уверены, какой именно), и вас интересует только путь индекса из двух частей (т.е.раздел таблицы и строки) - в этом случае вы можете использовать [NSIndexPath indexPathForRow:inSection:].Это описано в разделе дополнений NSIndexPath UIKit документации.
[NSIndexPath indexPathForRow:inSection:]