使用 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 错误 [重复]
npm install 报错 phantomjs-prebuilt@2.1.14 install: `node install.js`