【发布时间】:2014-03-13 15:17:45
【问题描述】:
我正在 Xcode 中创建一个应用程序,该应用程序当前由导航控制器、表格视图控制器和常规视图控制器组成。
我正在使用 StoryBoard 并在表格视图和常规视图控制器之间创建了一个 segue。在导航栏中,我有一个按钮,我已将其拖到 StoryBoard 中的视图控制器上。当我点击按钮时,新的 View Controller 会像预期的那样被查看。然后我尝试从表格视图控制器传递数据,见下文:
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
if ([[segue identifier] isEqualToString:@"läggTill"])
{
// Get reference to the destination view controller
AddPlayerViewController *apv = [segue destinationViewController];
[apv.myTextField setText:@"hello"];
}
}
segue 标识符是“läggTill”,但 if 语句中的代码没有执行。
两个问题:
这种方法有什么问题?
这是使用 StoryBoard 的最佳方法吗?我可以通过 viewWillDisappear 传递数据吗?
我可以使用 segues 将数据从视图控制器传回表视图控制器吗?
【问题讨论】:
-
您可以尝试更改 segue 标识符以在您的代码和情节提要中仅使用英文字符。
-
Storyboard中的segue标识符是否同名?
-
我可以使用 segues 将数据从视图控制器传回表视图控制器吗?使用委托来做到这一点。
-
您的 myTextField 是否在 AddPlayerViewController 上?在您发布的代码中,您获得了对目标视图控制器的引用并将其称为 apv 但将 myTextField 设置在 avc 上?这只是一个错字还是设置了完全不同的东西?
-
好吧,我在这里更改了代码示例。我在我的程序中使用了正确的。
标签: ios iphone objective-c xcode uiviewcontroller