0

我正在使用 xcode 为 iOS5 开发一个项目。ARC 开启 使用情节提要

我有一个名为Event的类,其中包含事件信息。我在情节提要上有一个 TableView 链接到我的ListViewController.m文件我还在情节提要上创建了一个名为“Detail”的视图和一个DetailViewController.m文件(它链接到)

目前在我的ListViewController.m我使用了这个功能:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
    DetailViewController *detail = [self.storyboard instantiateViewControllerWithIdentifier:@"detail"];
    [self.navigationController pushViewController:detail animated:YES];
}

listview 中的项目由 listviewcontroller 中的 var 组成,命名为 events。

我想要做的是当我初始化详细视图时,我想传递与该列表项耦合的事件,这样我就可以用我的DetailViewController.m中的正确信息填充标签中的文本。

我想这样做,因为我还将有事件的其他表示(在地图上,...),并希望对所有事件都使用此详细视图。

如何最好地设置它?

4

1 回答 1

0

在“DetailViewController”上添加一个“Event”属性,并在推送之前将其分配给控制器:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
    //Get here the selected event fron the datasource and assign it to yourSelectedEvent

    DetailViewController *detail = [self.storyboard instantiateViewControllerWithIdentifier:@"detail"];

    [detail setEvent: yourSelectedEvent];

    [self.navigationController pushViewController:detail animated:YES];
}

然后你可以用它把文本放到标签上。

于 2012-07-16T13:21:18.920 回答