iOS开发:界面传值之属性和代理传值
2015-09-05 11:22
381 查看
iOS开发:界面传值
方式: 属性传值和代理传值
现在以通讯录为例,简单介绍一下。
1、属性传值 (前 -- > 后) :这种传法比较简单, 在首页中点击一个人的姓名,然后跳转到这个人的详细介绍界面。在这个过程中肯定是要传某个值过去,然后后一页再根据这个值显示详细的信息。
思想:
a) 在第一页中引入第二页的头文件,然后就可以调用它的属性(在第二页的.h文件中声明)进行赋值。
第二页的.h中声明一个属性:
@property(nonatomic, retain)NSString *name;
b) 在第一页中引入第二页的头文件,并初始化一个对象,然后给属性赋值。
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
SecondViewController *second = [[ContactViewControlleralloc]init];
[self.navigationController pushViewController:second animated:YES];
second.name = @"张三";
}
说明:此方法是UITableView里面触发cell系统自带的一个方法。只要触发cell,就会跳转到下一页,并将张三这个值传过去。也可以自己写个手势调用一个自己写的方法实现。
c)在第二页接收_name = @"张三",做其他的操作。
2、代理传值(后 -- > 前 ): 在详情界面编辑(删除、添加。。。)后,将修改后的信息传到首页。此时,首页也得接收修改信息,做出相应的改变。
步骤:在第二页的.h文件中:
//第三步:在第二页.m文件中 触发代理人去执行方法:(只要代理人触发passValue这个方法,它就可以接收李四这个值)
[self.delegate passValue:@"李四"];
[self.delegate sayHi];
//第四步:在首页的.m/.h都行签协议
@interface FirstViewController ()<SecondViewControllerDelegate>
//第五步:找代理人
second.delegate = self;
//第六步:实现协议方法
- (void)passValue:(NSString *)value{
_label.text = value;
}
//可选择实现
- (void)sayHi{
NSLog(@"Hi!");
}
完毕!
方式: 属性传值和代理传值
现在以通讯录为例,简单介绍一下。
1、属性传值 (前 -- > 后) :这种传法比较简单, 在首页中点击一个人的姓名,然后跳转到这个人的详细介绍界面。在这个过程中肯定是要传某个值过去,然后后一页再根据这个值显示详细的信息。
思想:
a) 在第一页中引入第二页的头文件,然后就可以调用它的属性(在第二页的.h文件中声明)进行赋值。
第二页的.h中声明一个属性:
@property(nonatomic, retain)NSString *name;
b) 在第一页中引入第二页的头文件,并初始化一个对象,然后给属性赋值。
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
SecondViewController *second = [[ContactViewControlleralloc]init];
[self.navigationController pushViewController:second animated:YES];
second.name = @"张三";
}
说明:此方法是UITableView里面触发cell系统自带的一个方法。只要触发cell,就会跳转到下一页,并将张三这个值传过去。也可以自己写个手势调用一个自己写的方法实现。
c)在第二页接收_name = @"张三",做其他的操作。
2、代理传值(后 -- > 前 ): 在详情界面编辑(删除、添加。。。)后,将修改后的信息传到首页。此时,首页也得接收修改信息,做出相应的改变。
步骤:在第二页的.h文件中:
//第三步:在第二页.m文件中 触发代理人去执行方法:(只要代理人触发passValue这个方法,它就可以接收李四这个值)
[self.delegate passValue:@"李四"];
[self.delegate sayHi];
//第四步:在首页的.m/.h都行签协议
@interface FirstViewController ()<SecondViewControllerDelegate>
//第五步:找代理人
second.delegate = self;
//第六步:实现协议方法
- (void)passValue:(NSString *)value{
_label.text = value;
}
//可选择实现
- (void)sayHi{
NSLog(@"Hi!");
}
完毕!
相关文章推荐
- 【转】iOS夯实:ARC时代的内存管理
- Xcode6使用iOS8的sizeClasses解决屏幕适配问题
- iOS笔试知识点集锦
- iOS软件版本更新思路
- iOS多线程学习之GCD
- IOS 内存管理
- iOS开发脚踏实地学习day02-图片查看器和TOM猫
- iOS 之美:iOS Delegate 使用五步曲
- iOS开发之MJRefresh
- [iOS]关于视频方向的若干问题
- iOS开发-用ZipArchive添加和解压zip包
- nagios服务端安装
- nagios客户端安装
- nagios原理及配置详解
- Atitit.获取主板与bios序列号获取硬件设备信息  Wmi wmic 的作用
- Atitit.获取主板与bios序列号获取硬件设备信息 Wmi wmic 的作用
- Atitit.获取主板与bios序列号获取硬件设备信息 Wmi wmic 的作用
- Nagios 监控系统架设全攻略
- KVC的步骤 以及重点
- 注册自己的App到iOS中