如何从一个视图复制字符串并在下一个视图中显示它?(iphone)

时间:2011-09-09 06:24:38

标签: iphone objective-c ios xcode

大家好,我是iphone开发的新手。

其实我正在尝试一些示例应用程序,其中我在Viewcontroller中有一个textField和一个Button,当我在文本字段中输入一个字符串并按下按钮时它应该在NextView中显示相同的字符串。所以任何人都可以帮助我这样做。

我使用了一个视图到另一个视图之间的转换,但我需要从Viewcontroller1到NextView的复制字符串

@ViewController1

-(IBAction)next
{
    NextView *Nview = [[NextView alloc]initWithNibName:@"NextView" bundle:nil];

    [self.view addSubview:Nview.view];    
}

5 个答案:

答案 0 :(得分:4)

NextView中设置名为“newString”的ivar,例如,然后将字符串传递给第一个控制器的ivar。

例如,未经过测试(这是您可以执行此操作的众多方法之一)

的firstView

NextView * next = [[NextView alloc] initWithNewString: myTextField.text];
[self.navigationController presentModalViewController: next animated: YES];

新思维

@synthesize newString

-(id)initWithNewString:(NSString*)someString
{
    newString = someString;
    return self;
}

然后在您的NextView中,只需在newString调用以前获取前一个视图值textField的值。

答案 1 :(得分:1)

-(IBAction)next
{
    NextView *Nview = [[NextView alloc]initWithNibName:@"NextView" bundle:nil];

    Nview.string_Object=string_to_copy;//declare string_Object in NextView.h

    [self.view addSubview:Nview.view];    
}

答案 2 :(得分:1)

试试这个: 在导航时的第一个视图中:

    NextView *nav = [[NextView alloc] init];
    nav.textFieldValue = textField.text;        
    [self.navigationController pushViewController:nav animated:YES];

在NextView的.h文件中创建一个属性:

@property(nonatomic, retain) NSString *textFieldValue;

在.m文件中合成它如:

@synthesize textFieldValue;

现在,您可以在NextView类中使用 textFieldValue

P.S:别忘了发布它:)

答案 3 :(得分:0)

由于您是初学者,this将是您理解确切流程的良好指导,它将使您学习如何将值从一个类传递到另一个类。

答案 4 :(得分:0)

这是一种方法(尚未测试,但应该有效)

为textField提供类似

的标记值
textField.tag = 1;

并在NextView中访问它

UITextField *parentViewTextField = (UITextField*)[self.superview viewWithTag:1]