如何将文本从文本字段发送到另一个视图控制器

时间:2011-12-05 10:04:12

标签: iphone ios xcode uitextfield uilabel

我正在创建一个类似iPhone中默认Messages.app的应用,用户在UITextField中撰写短信,点击发送按钮后,UITextField的值ComposeViewController中的UILabel将转移到MasterViewController中自定义单元格中的表格单元格DetailViewController以及UILabel,其他UITextField将从DetailViewController获取文本值ViewController。当用户点击UITableViewCells中的单元格时,ModalViewController是加载的 UITextField *messageTextField; @property (nonatomic, retain) IBOutlet UITextField *messageTextField; - (IBAction)buttonPressed:(id)sender;

我实际上是在阅读下面的相关文章,但它不适合我。

  • 如何将文本从textfield发送到另一个类?
  • 如何在另一个文本字段中的一个文本字段中查看文字?
  • 如何将文本字段值发送到另一个类

您能指导我如何正确实施吗?我知道这很容易。我只是不知道它为什么不起作用。 ComposeVC是 synthesize messageTextField; -(IBAction)buttonPressed:(id)sender { DetailVC *detailVC = [[DetailVC alloc] init]; detailVC.messageText = messageTextField.text; } ,而DetailVC是当用户点击MasterVC表中的单元格时加载的视图。

非常感谢!

以下是我的ComposeVC.h代码:

    NSString *messageText;

    @property (nonatomic, copy) NSString *messageText;

for ComposeVC.m

    @synthesize messageText;

    - (void)viewLoad
    {
        testLabel.text = messageText;
    }

for DetailVC.h

{{1}}

for DetailVC.m

{{1}}

testLabel是我的DetailVC中的UILabel。

4 个答案:

答案 0 :(得分:0)

您可以在另一个viewController上创建属性。假设你的textField在view1上,你想在view2上发送它:

在视图2中 .h文件

#interface view2:UIViewController {
NSString *str;
}
@property (nonatomic, retain) NSString *str;
<。>在.m文件中     @synthesize str;

现在,您可以将文本从view1发送到视图2,如:

objView2.str = txtField.text;

用于在另一个用途中查看一个文本字段的文本    secondTextField.text = firstTextField.text;

如果您正在寻找不同的东西,希望这有助于我了解。

答案 1 :(得分:0)

试试这个:

#interface SecondView:UIViewController 
{
    NSString *stringSecond;
}

@property(nonatomic, retain) NSString *str;

在First View中你必须创建一个像这样的引用:

#import "SecondView.h"

SecondView *detailViewController = [[SecondView alloc] initWithNibName:@"SecondView" bundle:nil];

detailViewController.stringSecond = @"Some string";

答案 2 :(得分:0)

在app delegate中使用一个变量,如appdelegate.h

@interface appdelegate
{
NSString *str1;
}

@property (nonatomic, retain) NSString *str;

在.m文件中合成它。

在编辑文本字段后设置文本(app del.str = textfield.text即设置值)。并在任何地方使用相同的文本。

NSString *str = appdel.str(getting value);

答案 3 :(得分:-1)

我认为这就是你要找的东西:

Passing Data between View Controllers

希望有所帮助,如果您有任何问题,请报告。