Convert NSInteger to NSIndexpath

后端 未结 4 873
夕颜
夕颜 2020-12-14 05:55

Basically I am storing an index of an array in a NSInteger. I now need it as an NSIndexpath, I\'m struggling to see and find a way to convert my NSInteger to NSIndexpath so

相关标签:
4条回答
  • 2020-12-14 06:30

    For an int index:

    NSIndexPath *path = [NSIndexPath indexPathWithIndex:index];
    

    Creates Index of the item in node 0 to point to as per the reference.

    To use the indexPath in a UITableView, the more appropriate method is

    NSIndexPath *path = [NSIndexPath indexPathForRow:row inSection:section];
    
    0 讨论(0)
  • 2020-12-14 06:31

    Swift 3:

    let indexPath = IndexPath(row: 0, section: 0)
    
    0 讨论(0)
  • 2020-12-14 06:33

    If you need a NSIndexPath for a UITableView, you can use indexPathForRow:inSection: (reference). Index paths passed to table view must contain exactly two indices specifying the section and row. An index path created with indexPathWithIndex: only contains one index and won't work with a table view.

    0 讨论(0)
  • 2020-12-14 06:41

    Use below methods of NSIndexPath class.

    + (id)indexPathWithIndex:(NSUInteger)index;
    + (id)indexPathWithIndexes:(NSUInteger *)indexes length:(NSUInteger)length;
    - (id)initWithIndex:(NSUInteger)index
    

    Use as below and also Don't forget to release myIndexPath object after using.

    NSIndexPath *myIndexPath = [[NSIndexPath alloc] initWithIndex:[myIntObj intValue]];
    
    0 讨论(0)
提交回复
热议问题