stroryboard利用Segue实现界面传值

1.如果A类-->B类传值首先我们要在B类的.h中定义一个外部可已被访问的变量

#import <UIKit/UIKit.h>


@interface TwoViewController :UIViewController

@property(nonatomic,strong)NSString *value;

@end

这里A类代表 ZYViewControllerB类代表 TwoViewController


2.在stroryboard中你会发现每个viewcontroller 之间存在一条线 这条线就叫做Segue 现在 就利用Segue来传值,在stroryboard中当一个viewcontroller跳到下一个viewcontroller的时候他会根据Segue的指向跳到相应的viewcontroller

一个viewcontroller可以跳到多个不同的viewcontroller这样就会出现多个Segue所以我们要现设定这个Segue的标识

stroryboard利用Segue实现界面传值_第1张图片


3接下来我们要单机“点我传值这个按钮传值”代码如下

-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender

{

      if ([segue.identifierisEqualToString:@"sendValue"]) {

          TwoViewController *twoViewController =  segue.destinationViewController;

           // segue所指向的那个控制器就是你想要这个值传到那个类里

         //这里  是听啦 别人的建议修改的  原来这里有实力 对象(但是 这个方法是  在走完第二个控制器的          //viewDidLoad方法后走得这个方法,所以 就不用实力对象啦)

           twoViewController.value = @"我被传过去啦";

           

        

    }


    

}



这样我们就把我们想要传的值传过去啦

-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender

这个方法会在当你点击按钮的时候自动执行,不需要我们去处理,这个方法也可以掉用B类中可以被外部访问的方法

4.要把传过来的值显示到UILabel 中

- (void)viewDidLoad

{

    [superviewDidLoad];

    self.showValue.text =self.value;

}

运行效果 stroryboard利用Segue实现界面传值_第2张图片 stroryboard利用Segue实现界面传值_第3张图片
ok.....



第一次在 CSDN上写自己的东西,,,,大神请多多指教。。若有写的不好的地方别喷我。。。



你可能感兴趣的:(界面)