通过UITableViewCell将数据带到新视图

时间:2011-07-01 16:06:15

标签: objective-c cocoa-touch ios4 uitableview xcode4

我想用UITableView填充数据库中的数据,当点击一个单元格时,在didSelectRowAtIndexPath中,将所选单元格发送到新视图。我用标准方式完成了它。现在我也希望在点击单元格时,单元格的数据也会被带到另一个视图。我这样做但不起作用

MyCoreDataClassName *object = [fetchedObjecs objectAtIndex:indexPath.row];

这与我在其他论坛帖子中阅读的方式相同,但对我没有帮助。每当我使用这一行并运行我的应用程序时,当我点击单元格时,它会挂起一秒钟然后退出应用程序。我做错了什么?请指导我。

P.S:我正在使用核心数据填写表格。

问候。

1 个答案:

答案 0 :(得分:1)

因此,您的目标是将数据FId从视图传递到下一个视图。你可以通过很多方式做到这一点。让我发布一个方法 - 使用NSUserDefaults

考虑这个示例代码。

第一视图:

NSInteger row = [indexPath row];

NSUserDefaults *rowSelect = [NSUserDefaults standardUserDefaults];


if (row ==0){
    [rowSelect setInteger:0 forKey:@"theChosenRow"];

}
if (row ==1){
    [rowSelect setInteger:1 forKey:@"theChosenRow"];

}
if (row ==2){
    [rowSelect setInteger:2 forKey:@"theChosenRow"];

}
if (row ==3){
    [rowSelect setInteger:3 forKey:@"theChosenRow"];

}
if (row ==4){
    [rowSelect setInteger:4 forKey:@"theChosenRow"];

}

// In general you can set  [rowSelect setInteger:row forKey:@"theChosenRow"];

在下一个视图中:

    NSUserDefaults *rowSelect = [NSUserDefaults standardUserDefaults];
    NSInteger rowInfo = [rowSelect integerForKey:@"theChosenRow"];


   if (rowInfo == 10) //for example
        // Fetch Data for 10th row and Display contents for your tenth row.