将数据从PFQueryForTableViewController单元格传递到segue到viewController

时间:2014-02-05 06:06:37

标签: ios iphone objective-c parse-platform

因此我尝试将数据从我的单元格(填充queryForTable方法)通过segue传递到另一个viewController。我使用prepareForSegue方法,我的代码如下:

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

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

        NSIndexPath *indexPath = [self.tableView indexPathForSelectedRow];
        PFObject *object = [self.objects objectAtIndex:indexPath.row];

        //UINavigationController *nav = [segue destinationViewController];
        ProfileViewController *userProfile = [segue destinationViewController]; //(ProfileViewController *) nav.topViewController;
        userProfile.userInfo = object;
    }
}

在我的VC中我定义了属性:

@property (weak, nonatomic) PFObject *userInfo;

但是当我运行我的代码时,我收到错误:

Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[UIViewController setUserInfo:]:

1 个答案:

答案 0 :(得分:0)

看起来你正在拉出segue的viewController不是ProfileViewController - 你得到的错误是:

-[UIViewController setUserInfo:]:

注意UIViewController,而不是ProfileViewController。这似乎表明你的segue的目标viewController并不完全符合你的想法。

在Storyboard中检查目标viewController的类。是否设置为ProfileViewController?你的ProfileViewController是否嵌入了另一个viewController(就像一个navigationController - 看着你注释掉的代码,你似乎已经把它当作这样处理过了)?如果是这样,您可能需要进行大量挖掘才能获得对正确viewController的引用。