开发者

Convert NSInteger to NSIndexpath

Basically I am storing an index of an array in a NSInteger. I now need it as an NSIndexpath, I'm strugg开发者_运维知识库ling to see and find a way to convert my NSInteger to NSIndexpath so I can reuse it.


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];


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.


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]];


Swift 3:

let indexPath = IndexPath(row: 0, section: 0)
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜