【发布时间】:2012-03-20 15:33:21
【问题描述】:
我这辈子似乎无法弄清楚这一点。我有一个自定义表格视图单元格,在该单元格中我配置了一些按钮。每个按钮都通过故事板 segue 连接到其他视图控制器。我最近删除了这些 segues 并放置了 pushViewController 方法。在各种视图之间来回转换按预期工作,但是目标视图控制器没有显示任何内容!我下面有一些代码作为示例。
按钮设置了这个方法:
[cell.spotButton1 addTarget:self action:@selector(showSpotDetails:) forControlEvents:UIControlEventTouchUpInside];
// etc...
[cell.spotButton4 addTarget:self action:@selector(showSpotDetails:) forControlEvents:UIControlEventTouchUpInside];
// etc...
showSpotDetails 方法包含以下代码:
- (void)showSpotDetails:(id)sender
{
// determine which button (spot) was selected, then use its tag parameter to determine the spot.
UIButton *selectedButton = (UIButton *)sender;
Spot *spot = (Spot *)[spotsArray_ objectAtIndex:selectedButton.tag];
SpotDetails *spotDetails = [[SpotDetails alloc] init];
[spotDetails setSpotDetailsObject:spot];
[self.navigationController pushViewController:spotDetails animated:YES];
}
详细信息 VC 确实接收到对象数据。
- (void)viewDidLoad
{
[super viewDidLoad];
NSLog(@"spotDetailsObject %@", spotDetailsObject_.name);
}
下面的 NSLog 方法确实输出了传递的对象。此外,详细信息视图控制器中的所有内容都保持原样。细节 VC 上没有任何变化。自从我删除了 segue 并添加了 pushViewController 方法后,它就没有渲染任何东西。也许我在 pushViewController 方法上遗漏了一些东西?我从来没有真正这样做过,我总是尝试使用 segues...
有什么建议吗?
【问题讨论】:
标签: objective-c ios uiviewcontroller storyboard segue