我正在使用xcode开发iOS5项目。 ARC开启了 使用故事板
我有一个名为事件的类,其中包含事件信息。 我在故事板上有一个链接到我的 ListViewController.m 文件的TableView 我还在故事板上发了一个名为'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中用正确的信息填充标签中的文本。
我想这样做,因为我还会为事件提供其他表示(在地图上,......),并希望对所有事件使用此详细信息视图。
如何最好地设置它?
答案 0 :(得分: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];
}
然后您可以使用它将文本放到标签上。