prepareForSegue EXC_BAD_ACCESS 在 indexPath.row

prepareForSegue EXC_BAD_ACCESS at indexPath.row

我正在尝试通过 prepareForSegue 函数下的 segue 传递数据,但我一直收到 exc_bad_access。

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {

NSIndexPath *indexPath = [self.tableView indexPathForSelectedRow];

//NSIndexPath *indexPath = [NSIndexPath indexPathForRow:rowIndex inSection:0];
// Make sure your segue name in storyboard is the same as this line
if ([[segue identifier] isEqualToString:@"itemListSegue"])
{
    itemList *vc = [segue destinationViewController];
    vc.inv = [inv_list objectAtIndex:indexPath.row];
    vc.title = vc.inv;
}
}

下面是我得到的错误

编辑: inv_list声明如下:

@interface downloadInv (){
NSMutableArray *inv_list;
}

并且在 viewDidLoad:

inv_list = [[NSMutableArray alloc] init];

内容:

vc.inv 是 inv_list 中的一个特定元素,我想在选择 table 时传递给目标视图控制器。

声明如下:

@interface itemList : UITableViewController

@property(nonatomic, strong) NSString *inv;
@end

有人知道如何解决这个问题吗?

提前致谢。

因为in_list没有被声明为强属性,它可能正在被释放。 尝试这样声明它:

@property (strong, nonatomic) NSMutableArray * inv_list;

能否请您检查一下您的segue标识符,如果没有给出,可能会导致异常

否则,如果它像 属性 一样坚固:

@property(nonatomic,strong) NSString *inv_list;

可能会解决问题。