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上面 ,如下:
最终效果,如下: