将NSStrings插入NSStrings

时间:2011-02-20 06:13:46

标签: nsstring viewcontroller iboutlet

我是Objective C的新手并且有一个非常基本的问题。所以我在一个UIViewController中有2个变量(IBOutlets是UITextFields)。在用户将文本输入到那些UITextFields之后,他/她继续进入新的viewcontroller。当用户输入viewcontroller#2时,我想将来自viewcontroller#1的IBOutlets的值插入到我预设的NSString中。例如,1个变量是名称,1个是兴趣。 NSString应该是“Hello [name],感谢您对[兴趣]的兴趣。我们很感激。”那么如何将IBOutlets从viewcontroller 1传递给viewcontroller 2,并将它们作为NSStrings插入到不可变的NSString中(感谢您的兴趣等等部分)。我感谢您提供的任何帮助,因为我是一个完整的Objective C新手。感谢您花时间阅读本文。

-Reynold

1 个答案:

答案 0 :(得分:1)

这实际上是一个两部分问题。为了按照你想要的方式把这些字符串放在一起,我建议:

[NSString stringWithFormat:FORMAT];

在你的情况下,实现可能会有点像这样:

NSString *name = nameTextField.text;
NSString *interest = interestTextField.text;

NSString *resultString = [NSString stringWithFormat:@"Hello %@, thanks for your interest in %@. We appreciate it",
name,
interest];

将此值传递给另一个视图控制器有点复杂。我建议在第二个视图控制器中创建一个属性,如下所示:

@interface ViewController2 : UIViewController{
    NSString *myString;
}

@property(nonatomic, retain) NSString *myString;

@end

然后,当您设置新的视图控制器时,您可以像这样配置它:

UIViewController *vc = [[ViewController2 alloc] initWithNibName:@"ViewController2" bundle:nil];

vc.myString = resultString;

[self.view addSubview:vc.view];
[vc release];
祝你好运。