将数据从一个页面提取到另一个页面

时间:2016-02-08 12:11:28

标签: ios objective-c

我知道这个问题之前已经得到了回答,但我在这些问题上遇到了困难。在一个页面上有一个文本字段,我想通过单击按钮将其内容检索到位于下一页的标签中。

我试过这个。 tfName是第1页中textfield的id。

 -(IBAction)onClick:(id)sender
{
 NSString *string1 =tfName.text;
}

和第2页

- (void)viewDidLoad {
    [super viewDidLoad];
label1.text=string1;
}

3 个答案:

答案 0 :(得分:1)

以下是简单的示例代码:

A.h级:

UITextfield *tfName;

班级A.m:

tfName.text = @"Hello world";




-(IBAction)onClick:(id)sender
{
    ClassB *b = [[ClassB alloc]initwithnibname@"ClassB"];
     b.string1 =tfName.text;
    [self.navigationController pushViewController:b animated:YES];
}

班B.h:

@Property(..)NSString *string1;

班级B.m:

label1.text = _string1.

注意:您需要在ClassA中导入ClassB,即#import "ClassB.h"

希望这有帮助。

答案 1 :(得分:0)

首先创建ViewController对象,然后为该属性赋值。

-(IBAction)onClick:(id)sender
    {
    SecondViewController *tempView = [[SecondViewController alloc] initWithNibName:@"SecondViewController" bundle:nil];
        tempView. string1 = tfName.text;
         [self.navigationController pushViewController:tempView animated:YES];

    }

SecondViewController.h上创建一个全局字符串,如

@Property(nonatomic, Strong)NSString *string1;

关于您的实现SecondViewController.m systensize您的String,如

@Synthesize string1;

最后打电话给

- (void)viewDidLoad {
[super viewDidLoad];
 if (string1.length >0)
 label1.text=string1;
}

答案 2 :(得分:0)

制作单身人士课程

class DataModel {

class var sharedInstance: DataModel {
    get {
        struct Static {
            static var instance: DataModel? = nil
            static var token: dispatch_once_t = 0
        }
        dispatch_once(&Static.token, {
            Static.instance = DataModel()
        })
        return Static.instance!
    }
}

var textData:String = ""

}

按钮上的

执行此操作:

DataModel.sharedInstance.textData = "page 1 data"

在第2页viewDidLoad基金

label1.text = DataModel.sharedInstance.textData

这应该可以正常工作!