使用 Prebuilt UITabBarController 将数据发送到另一个视图?

Posted

技术标签:

【中文标题】使用 Prebuilt UITabBarController 将数据发送到另一个视图?【英文标题】:Send data to another view using Prebuilt UITabBarController? 【发布时间】:2010-12-06 21:34:54 【问题描述】:

我使用 Xcode 创建了一个标签栏应用程序,它作为两个视图。

第二个视图是一个 UITableViewController。

我正在努力做的是在按下第二个选项卡时将数据发送到此视图。我已将 Tab Bar 委托给我的 AppDelegate 类并实现了此功能:

-(void)tabBarController:(UITabBarController*)tabBarController didSelectViewController:(UIViewController*)viewController

    // Override point for customization after application launch.
    statisticsViewController* assignmentListcont = [statisticsViewController alloc];

    NSManagedObjectContext* context = [self managedObjectContext];

    assignmentListcont.managedObjectContext = context;

    [assignmentListcont release];


第二个视图显示正常,但数据尚未传递。我想这是因为我没有对第二个视图转换进行编程,但是如果我已经有一个 .xib 文件为我做这件事,我不确定如何做到这一点?有什么方法可以毫无问题地传递数据,甚至在视图中检索数据?

【问题讨论】:

【参考方案1】:

您可以使用通知。

在你想接收数据的视图中,把这个放在viewDidLoad:

[[NSNotificationCenter defaultCenter] addObserver:self 
                                      selector:@selector(yourSelector:) 
                                      name:@"addedData" 
                                      object:nil];

然后实现接收该数据的方法:

- (void)yourSelector:(NSNotification *)notification 
         Foo *foo;
     foo = [notification object];
    //do something else

现在,在数据来源的类中,您发布了一条新数据已创建的通知。此外,您传递您希望其他方法接收的数据。

[[NSNotificationCenter defaultCenter] postNotificationName:@"addedData" 
                                      object:foo];

【讨论】:

感谢您的回答,最后我使用了cocoawithlove.com/2008/11/…的全局委托方法。 没问题!祝你取得最大的成功。 :)【参考方案2】:

我这样做是为了将值从一个视图控制器发送到另一个视图控制器,希望对您有所帮助

UITabBarViewController *var = [self.storyboard   instantiateViewControllerWithIdentifier:@"name"]; //I select the UITabBarController
otherViewController *var2 = [var.childViewControllers objectAtIndex:0]; //I Select the first ViewController from that UITabBarController
var2.variable = @"value";
[self.navigationController pushViewController:var animated:YES];

【讨论】:

以上是关于使用 Prebuilt UITabBarController 将数据发送到另一个视图?的主要内容,如果未能解决你的问题,请参考以下文章

使用 Prebuilt UITabBarController 将数据发送到另一个视图?

如何使用 Livewire Stripe Prebuilt Checkout 修复 CORS 错误 [重复]

Android常见的预编译(prebuilt)

sh node-sass-prebuilt.sh

npm install 报错 phantomjs-prebuilt@2.1.14 install: `node install.js`

phantomjs-prebuilt@2.1.16 install: `node install.js`