indexpath行没有准备细节披露的segue

bha*_*ari 16 objective-c ios

 if([segue.identifier isEqualToString:@"Edit"]){

    AddCoffeeViewController *avc = [segue destinationViewController];

    Coffee *coffeeObj = [appDelegate.coffeeArray objectAtIndex:arow];
    NSLog(@"ViewController.m prepareForSegue: arow: %d coffeeName:%@ price:%@      coffeeID:%d",arow,coffeeObj.coffeeName,coffeeObj.price,coffeeObj.coffeeID);
    [coffeeObj setIsInEditMode:YES];
    avc.EditCoffeeObj = coffeeObj;


}
Run Code Online (Sandbox Code Playgroud)

当我按下配件按钮时,我没有得到正确的行.

虽然在下面的方法我得到正确的行.如果我不想使用任何ivar,我有什么方法可以为segue准备正确的行.

-(void)tableView:(UITableView *)tableView accessoryButtonTappedForRowWithIndexPath:(NSIndexPath *)indexPath{

arow = indexPath.row;

}
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述


tableViewCell附件按钮:执行模态segue(编辑)
+按钮(导航栏按钮项目):执行模态segue(添加)

Pau*_*l.s 34

如果您已在故事板中连接了附件操作,那么senderin prepareForSegue:sender:将是被点击的单元格.这意味着你可以做类似的事情

NSIndexPath *indexPath = [self.tableView indexPathForCell:sender];
Run Code Online (Sandbox Code Playgroud)