使用导航控制器处理页面之间的数据

时间:2013-11-25 12:19:51

标签: ios iphone

如果我的起始页只有一个按钮和textfield,如何导航到另一个页面。单击该按钮,它将文本字段数据带到另一个页面并显示它。我想使用导航控制器返回。

3 个答案:

答案 0 :(得分:1)

如果您使用故事板: 命名你的第一个viewcontroller和storyboard中的下一个viewcontroller之间的segue,并将以下方法添加到你的第一个viewcontroller.m:

-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{
    if([[segue identifier] isEqualToString:@"YourSegue"]){
         NextViewController *nvc = (NextViewController *)[segue destinationViewController];
         nvc.aString = self.textField.text;
     }
}

答案 1 :(得分:0)

ViewController * myVC = [[ViewController alloc] initWithNibName:nil bundle:nil];
myVC.someProperty = someValue;    // Pass your data here
[self.navigationController pushViewController:myVC animated:YES];

在你的ViewController课程中:

·H

@interface ViewController : UIViewController {
    NSString * _someProperty;
}
@property (nonatomic, retain) NSString * someProperty;
@end

的.m

@implementation ViewController
@synthesize someProperty = _someProperty;

    - (void)viewDidLoad {
        [super viewDidLoad];
        NSLog(@"My Data == %@", _someProperty);
    }

答案 2 :(得分:0)

请说明您的第一页为Firstviewcontroller,第二页为Secondviewcontroller

Secondviewcontroller。h file

@property(strong,nonatomic)NSString *textfieldstring;

然后在Secondviewcontroller.m

@synthesize *textfieldstring;

现在在Firstviewcontroller上点击按钮的方法只需写下这个

//initialize secondviewcontroller object
secondviewcontroller *secondview=[[secondviewcontroller alloc]initWithNibName:@"secondviewcontroller" bundle:nil];

//Assign the textfield value to property of secondview
secondview.textfieldstring= yourtextfield.text;

//navigate to secondview controller
        [self.navigationController pushViewController:secondview animated:YES];

现在在Secondviewcontroller的- (void)viewDidLoad方法中

您可以在textfield属性中获取textfieldstring值,然后在任意位置使用此NSString值。

如果你使用storyboard,那么你需要在Firstviewcontroller.m文件中实现这个方法

  - (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
        if ([segue.identifier isEqualToString:@"identifierofsecondviewcontroller"]) {

            Secondviewcontroller *secondview = segue.destinationViewController;
            secondview.textfieldstring= yourtextfield.text;
        }
    }

//这个东西你还需要在Secondviewcontroller中编写 在Secondviewcontroller。h file

@property(strong,nonatomic)NSString *textfieldstring;

然后在Secondviewcontroller.m

@synthesize *textfieldstring;

这是一个可以帮助你肯定的教程 http://www.appcoda.com/storyboards-ios-tutorial-pass-data-between-view-controller-with-segue/

如果有任何疑问,请随时问我。 希望它有所帮助...