0

好的,老实说,我认为这不是一个好的做法,但目前我真的没有看到另一个好的解决方案。然后我将在 prepareforsegue 中应用 if else 语句,其中将检查 22 次使用了哪个 segue,以便在第二个视图控制器中显示正确的数据。这是不好的做法吗?

4

2 回答 2

0

这取决于你想要什么。如果您想根据UITableViewCell按下的内容显示某些数据,您所要做的就是在视图 1 上有一个表格视图,在视图 2 上,有一些空白的 UILabel(或任何你想用来呈现数据的东西),并且根据按下的单元格将数据加载到 UI 对象(UILabels 等)中。一个很好的教程位于这里。本教程展示了如何执行此操作以及保存数据,您可能不需要保存任何数据,因此请尽量避免将数据从表格视图单元格加载到视图中。是的,您正在做的事情是一种不好的做法,尽管这完全取决于您想做什么。

HTH :)

于 2013-06-11T02:39:54.603 回答
0

您可以只使用一个 segue 并将数据传递到 if/else 中的第二个视图控制器。

您可以在第二个视图控制器上拥有一个属性,并且prepareForSegue在第一个视图控制器上的方法上,您可以设置要发送的数据。

例子:

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
    if ([[segue identifier] isEqualToString:@"ExampleSegueIdentifier"])
    {
        SecondViewController *secondView = (SecondViewController *)[segue destinationViewController];

        // assuming that we want to fill a NSString on the Second View Controller
        secondView.myText = [NSString stringWithFormat:@"Hello, World"];
    }
}
于 2013-06-11T01:01:43.507 回答