indexPathForCell return nil


#1

for the coding below, indexPathForCell return nil. Why?
NSIndexPath *indexPath = [[self tableView] indexPathForCell:self];


#2

Below is the log file. tableView is null, that’s why indexPathForCell return nil. However, setTableView:tableView should work.
[self setTableView:tableView];
NSLog(@“setTableView:%@”, tableView);

2013-08-21 01:22:45.351 Homepwner[11752:907] setTableView:<UITableView: 0x1f8a6200; frame = (0 0; 768 960); clipsToBounds = YES; autoresize = W+H; gestureRecognizers = <NSArray: 0x1f02fe90>; layer = <CALayer: 0x1f02f720>; contentOffset: {0, 0}>
2013-08-21 01:22:49.388 Homepwner[11752:907] self: <HomepwnerItemCell: 0x1f03e760; baseClass = UITableViewCell; frame = (0 163; 768 44); autoresize = W; layer = <CALayer: 0x1f03e8b0>> tableView: (null)
2013-08-21 01:22:49.391 Homepwner[11752:907] indexPath nil