1

我是 Objective C 的新手,并且有一个非常基本的问题。所以我在一个 UIViewController 中有 2 个变量(IBOutlets 是 UITextFields)。用户在这些 UITextFields 中输入文本后,他/她会进入一个新的视图控制器。当用户输入 viewcontroller #2 时,我想将 viewcontroller #1 中的 IBOutlets 的值插入到我预设的 NSString 中。例如,1 个变量是名称,1 个是兴趣。NSString 应为“您好 [name],感谢您对 [interest] 的关注。我们对此表示感谢。” 那么如何将 IBOutlets 从 viewcontroller 1 传递到 viewcontroller 2,并将它们作为 NSStrings 插入到不可变的 NSString 中(感谢您的兴趣等)。感谢您提供的任何帮助,因为我完全是 Objective C 新手。感谢您抽时间阅读。

-雷诺

4

1 回答 1

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];

祝你好运。

于 2011-02-20T06:44:03.503 回答