如何使用prepareForSegue在NavigationController和Table View Controller之间传递数据

时间:2014-07-31 13:08:49

标签: ios objective-c uiviewcontroller storyboard xcode5

如何在导航控制器和表视图控制器之间传递数据?我已经尝试了prepareForSegue方法,但它没有工作..我试图设置一个断点来查看流是否调用此方法,但似乎我的导航控制器类的prepareForSegue从未被调用过。以下是一些代码示例:

NavController.h:

@interface NavController : UINavigationController

@end

NavController.m:

- (void) prepareForSegue: (UIStoryboardSegue *) segue sender: (id) sender
{
    TableViewController *destViewController = (TableViewController*)segue.destinationViewController;
    destViewController.title = @"Home";
    destViewController.URLValue = @"http://www.example.com";
}

TableViewController.h:

@interface TableViewController : UITableViewController 

@property (nonatomic, strong) NSString *URLValue;

@end

1 个答案:

答案 0 :(得分:0)

听起来导航控制器是您的根视图控制器(即,如果您选择导航控制器场景并在Xcode中检查其详细信息,则应选中“初始场景”复选框)。因为它是初始场景并且只以一种方式到达,所以尝试在TableViewController上的viewDidLoad:中设置默认值。