iOS 属性传值 从一级页面传到三级页面

iOS中常常点击按钮要把当前页面的数据传递到下一页面,这里可用到属性传值。

一.想要从当前界面传值到三级界面,是不可能直接跳跃传值的,因为本页面的按钮监听事件里面并没有对三级页面做初始化,也没有三级页面这个对象,所以需要一级一级的进行传递,代码如下:

1.首先在Appdelegate里面导入FirstController的头文件:然后:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    
    self.window = [[UIWindow alloc]initWithFrame:[UIScreen mainScreen].bounds];
    
    [self.window makeKeyAndVisible];
    
    FirstController *firstVC = [[FirstController alloc]init];
    
    UINavigationController *naVC = [[UINavigationController alloc]initWithRootViewController:firstVC];
    
    self.window.rootViewController = naVC;
    
    return YES;
}

2.在第一个控制器的.h文件里申明textfiled的属性,便于外界访问:

然后在.m进行一些UI控件的创建,加回收键盘:

此时在按钮的点击事件里面创建SecondVC ,并且把传递过来的值用secondvc接收,但不显示,如下:

注意:代码中的firstValue 是在SecondViewController的.h 里面申明的,用来接收传过来的内容,代码如下:

3.此时第一个控制器的值已经传到第二个控制器了,然后再SecondViewController里面的NavigationItem 的点击事件里面再次进行传值:

注意:同上secondValue也是在ThirtViewController.h里面申明 ,接收第二个页面传递过来的值。

4.最关键的一步,在第三个页面让它显示在label上面 ,如下:

最终效果,如下:

原文地址:https://www.cnblogs.com/zhaojian/p/5019254.html