如何将对象从单元格传递给新控制器

时间:2013-10-08 16:19:42

标签: ios uiviewcontroller uitableview uistoryboardsegue

对于我UITableView中的每个单元格,我设置了一个自定义对象。像这样:

// Reference to the turn
PFObject *turnToPlay = [self.currentUserTurnsToPlay objectAtIndex:indexPath.row];

选择单元格后,我需要将该对象传递给新的视图控制器。

这来自我的didSelectRowAtIndexPath

if (indexPath.section == 0) {
    [self performSegueWithIdentifier:@"takeGameTurn" sender:self];  
}

我正在努力找出如何引用为单元格创建的PFObject,将其传递给目标视图控制器。我知道我会将其传递给prepareForSegue但是如何从单元格选择中获取对象。

我从didSelectRowAtIndexPath引用了indexPath,但是如何将其传递给segue目标控制器?这就好像我需要另一种方法。

2 个答案:

答案 0 :(得分:0)

在你的prepareForSegue

  - (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
         if ([segue.identifier isEqualToString:@"takeGameTurn"]){
               NSIndexPath *indexPath = [self.tableView indexPathForSelectedRow];
               PFObject *turnToPlay = [self.currentUserTurnsToPlay objectAtIndex:indexPath.row];

          }
    }

答案 1 :(得分:0)

您的单元格的PFObject属性是?如果是,那么你可以

-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
    if([segue.identifier isEqualToString:@"takeGameTurn"])
    {
        YourNextViewController *nextVC = [segue destinationViewController];
        NSIndexPath *indexPath;
        indexPath = [myTableView indexPathForSelectedRow];
        MyCustomCell *cell = (MyCustomCell *)[myTableView cellForRowAtIndexPath:indexPath];
        nextVC.myPFObject = cell.assignedPfObject;


    }
}