0

下面的代码在 ios 6 中工作,但在 ios 7 中,它是导致应用程序在“indexPathForCell”点崩溃的原因。帮我解决这个问题..有一个表格视图,我们在其中单击一个单元格并再次在第二个视图中移动表格视图将加载数据...但在该应用程序崩溃之前..

提前致谢

UIView *view = [self superview]; 
// Find TableViewCell
if(view != nil && ![view isKindOfClass:[UITableView class]]) view = [view superview];

UIView *cellView = [self superview];
// Find TableViewCell
if(cellView != nil && ![cellView isKindOfClass:[UITableViewCell class]]) cellView = [cellView superview];

if(view != nil && cellView != nil) {
    UITableViewCell *cell = (UITableViewCell*)cellView.superview.superview;
    UITableView *tableView = (UITableView*)view;

    if([tableView style] == UITableViewStyleGrouped)
    {
        NSIndexPath *path = [tableView indexPathForCell:(UITableViewCell*)cell];
        if(path) {
            int count = [tableView numberOfRowsInSection:[path section]];
4

1 回答 1

3

UITableViewCell单元格 = (UITableViewCell )cellView.superview.superview.superview;

对于 ios7,您需要再添加一个超级视图。

您的应用因此而崩溃

[tableView indexPathForCell:(UITableViewCell*)cell];

因为单元格为零。

您需要为 ios 7 和 ios 6 添加检查。对于 ios 7 添加另一个超级视图将解决目的。

于 2013-10-15T14:39:44.903 回答