В основном я храню индекс массива в NSInteger. Теперь я нуждаюсь в нем как NSIndexpath, я изо всех сил стараюсь увидеть и найти способ конвертировать NSInteger в NSIndexpath, чтобы я мог его повторно использовать.
Преобразование NSInteger в NSIndexpath
Ответ 1
Для int index
:
NSIndexPath *path = [NSIndexPath indexPathWithIndex:index];
Создает индекс элемента в node 0, чтобы указать в соответствии с ссылкой.
Чтобы использовать indexPath в UITableView
, более подходящий метод
NSIndexPath *path = [NSIndexPath indexPathForRow:row inSection:section];
Ответ 2
Если вам нужен NSIndexPath
для UITableView
, вы можете использовать indexPathForRow:inSection:
(reference). Пути указателей, переданные в представление таблицы, должны содержать ровно два индекса, определяющих раздел и строку. Путь указателя, созданный с помощью indexPathWithIndex:
, содержит только один индекс и не будет работать с табличным представлением.
Ответ 3
Используйте ниже методы NSIndexPath class.
+ (id)indexPathWithIndex:(NSUInteger)index;
+ (id)indexPathWithIndexes:(NSUInteger *)indexes length:(NSUInteger)length;
- (id)initWithIndex:(NSUInteger)index
Используйте как показано ниже, а также не забудьте после release
myIndexPath
объекта после использования.
NSIndexPath *myIndexPath = [[NSIndexPath alloc] initWithIndex:[myIntObj intValue]];
Ответ 4
Swift 3:
let indexPath = IndexPath(row: 0, section: 0)