简体   繁体   中英

How Can I Get The indexpath and row in XCODE 5

I have an app that used to work before I upgraded to XCODE 5. I needed to find the row that was selected for a structure I was displaying which has over 100 rows so obviously can be scrolled on the display. The code that used to work is:

NSIndexPath *indexPath = [self.mainTableView indexPathForCell:myCell];
NSInteger row = [indexPath row];

Now, regardless of the row selected, the value of row is always 0. Anyone have any suggestions for me? Thanks.

This worked for me...

CGPoint pos = [pressedButton convertPoint:CGPointZero toView:self.mainTableView];
NSIndexPath *indexPath = [self.mainTableView indexPathForRowAtPoint:pos];
NSInteger row = [indexPath row];

Remember that in Objective-C, you can always send a message nil , and methods that return something (ie, not void ) will return either nil (for an object) or 0 (for a value) when sent to nil (for structs, it is more complicated; read this ).

So make sure that:

  1. self.mainTableView is not nil
  2. indexPath is not nil

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM