iOS中的属性传值

   

1.需要创建两个继承于UIViewController的根视图控制器
在第二个根视图控制器中声明一个属性   

@property (nonatomiccopyNSString *textString;//属性传值

在m文件中的- (void)ViewDidLoad方法中定义一个UILabel

- (void)viewDidLoad {

    [super viewDidLoad];

    UILabel *label = [[UILabel allocinitWithFrame:CGRectMake(20100CGRectGetWidth(self.view.bounds) - 40100)];

    label.backgroundColor = [UIColor whiteColor];

    label.font = [UIFont systemFontOfSize:20];

    label.numberOfLines = 0;//表示无限行

   label.text = self.textString;//使用属性传递得到的文本

    [self.view addSubview:label];

    [label release];

    self.view.backgroundColor = [UIColor orangeColor];

}


2.在第一个根视图控制器中引入第二个根视图控制器

#import "RootViewController.h"   第一个根视图控制器

#import "DetailViewController.h"    第二个根视图控制器


在第一个根视图控制器中也就是#import "RootViewController.h"定义一个UITextFIeld属性

并用懒加载实现以下:

- (UITextField *)textField

{

    if(!_textField)

    {

        self.textField = [[UITextField allocinitWithFrame:CGRectMake(20100CGRectGetWidth(self.view.bounds) - 4040)];

        _textField.borderStyle = UITextBorderStyleRoundedRect;

    }

    return _textField;

}


然后在

- (void)viewDidLoad中设置一个button

- (void)viewDidLoad

{

    [super viewDidLoad];

    self.view.backgroundColor = [UIColor greenColor];

    [self.view addSubview:self.textField];


    UIButton *pushButton = [UIButton buttonWithType:UIButtonTypeCustom];

    pushButton.frame = CGRectMake(008040);

    [pushButton setTitle:@"入栈显示" forState:UIControlStateNormal];

    pushButton.titleLabel.font = [UIFont systemFontOfSize:20];

    pushButton.center = self.view.center;

    [pushButton setTitleColor:[UIColor blackColorforState:UIControlStateNormal];

    pushButton.showsTouchWhenHighlighted = YES;

    [pushButton addTarget:self action:@selector(handlePushButton:) forControlEvents:UIControlEventTouchUpInside];

    [self.view addSubview:pushButton];

    [pushButton release];

}


实现button响应的方法, 然后完成属性之间的传值

- (void)handlePushButton:(UIButton *)sender

{

    ///  *********************////

    DetailViewController *detailVC = [[DetailViewController allocinit];

    //创建完对象就位对应的属性textString赋值

    detailVC.textString = self.textField.text;


    [self.navigationController pushViewController:detailVC animated:YES];

}




你可能感兴趣的:(iOS中的属性传值)