在两个视图之间发送字符串

时间:2010-08-23 12:53:18

标签: iphone

我想知道如何在标签栏控制器的两个视图之间发送字符串?它是否与简单的两个视图完全相同? 我有一个带有两个tab的标签栏控制器的应用程序。在第一个视图中有一个文本域。我想将文本发送到第二个视图

4 个答案:

答案 0 :(得分:1)

有很多方法可以做到这一点!这有两种简单的方法:

询问我是否需要更多详细信息!

答案 1 :(得分:1)

在两个视图可以共享的模型上设置字符串,可以是单例,也可以是单例的后代。听起来你只想在两个视图之间传输数据,虽然可以将它们链接在一起,但它的风格很糟糕。

MVC,宝贝!

答案 2 :(得分:1)

我在新视图中创建新方法,以访问字符串,所以在你按下newController之前你应该使用String作为参数访问该方法,请按照下列步骤操作: 在我的newController中我写了这个:

@implementation newController
NSString *stringRef;
-(void) constructor : (NSString*) stringParameter{
stringRef = stringParameter 
}

在前视图控制器上我写这个:

#import "newController.h"
@implementation viewController
UIViewController *new =[[newController alloc] init];
    [new constructor:@"this string is sending to new controller"];
    [self.navigationController pushViewController:new animated:YES];
    [new release];

它应该是作品家伙,有一个不错的尝试。 :)

答案 3 :(得分:0)

如果应该在标签栏控制器中有两个不同视图控制器的公共元素,您可能希望将该公共元素包含为自定义标签栏控制器的成员对象。当视图A消失时,它可以访问其父视图的成员对象并更新它,当视图B出现时,它可以访问同一个对象并自行更新(反之亦然)。

但是在另一个想法中,听起来你正在用tabBarController做一些事实上应该用导航控制器完成。具有两个以这种方式共享数据的不同标签栏视图不是普通的UI。用户不希望在一个选项卡中进行的更改会影响另一个选项卡中显示的内容。当一个视图中的数据依赖于另一个视图中的数据时,更典型的是在第一个视图之后将第二个视图推送到UINavigationController堆栈上。请记住,UINavigationController可能是UITabBarController上的一个视图。