IOS学习之路十七(通过delegate进行页面传值)
2013-08-21 15:03
387 查看
加入有A B两个页面,要实现从A跳到B的时候把值传过去,现在用delegate协议来实现
在A中定义一个协议,定义一个实现该协议的属性变量
在B中定义一个值(要获得的值类型)和set方法。
要传值B 必须实现A中定义的协议。
在A中获得B的指针调用set方法传值。
实例:(我的例子A是一个TableView)
A:(MenuViewController)
.m文件:
B:(ToDoViewController)
.m文件:
原文出处:http://blog.csdn.net/wildcatlele
在A中定义一个协议,定义一个实现该协议的属性变量
在B中定义一个值(要获得的值类型)和set方法。
要传值B 必须实现A中定义的协议。
在A中获得B的指针调用set方法传值。
实例:(我的例子A是一个TableView)
A:(MenuViewController)
#import <UIKit/UIKit.h>
//声明协议 @protocol ToTopPassValueDelegate; @interface MenuViewController : UIViewController<UITableViewDataSource, UITableViewDelegate>{ } //声明实现协议的变量(ID类型) @property (nonatomic,retain) id<ToTopPassValueDelegate> passValueDelegate; @property (weak, nonatomic) IBOutlet UITableView *leftTableView; @property (nonatomic,copy) NSArray *arrayData; @end //定义协议 @protocol ToTopPassValueDelegate - (void)setValue:(NSString *)value; @end
.m文件:
@synthesize passValueDelegate;
//当点击一个cell时出发,进行传值及跳转 -(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{ ToDoViewController *topViewController=[[ToDoViewController alloc] init]; self.passValueDelegate = topViewController; [self.passValueDelegate setValue:[self.arrayData objectAtIndex:indexPath.row]];
//跳转。。。。。
} @end
B:(ToDoViewController)
#import <UIKit/UIKit.h> #import "MenuViewController.h" @interface ToDoViewController : UIViewController<ToTopPassValueDelegate> @property (nonatomic,copy) NSString *value; @end
.m文件:
@synthesize value; -(void) setValue:(NSString *) str{ NSLog(@"%@",str); }
原文出处:http://blog.csdn.net/wildcatlele
相关文章推荐
- IOS学习之路十七(通过delegate进行页面传值)
- IOS学习之路十六(UItableView 通过Prepare for segue 页面传值)
- IOS学习之路十六(UItableView 通过Prepare for segue 页面传值)
- IOS学习之路十四(用TableView做的新闻客户端展示页面)
- iOS学习之路--通过APP边学编写(四)原型
- iOS学习之路--通过APP边学编写(三)主页
- IOS学习之页面之间的传值方式(Delegate/NSNotification/Block/NSUserDefault ,单例模式)
- iOS学习之路-02-创建页面前的思考
- IOS学习之路十四(用TableView做的新闻客户端展示页面)
- IOS学习之路十二(UITableView下拉刷新页面)
- ios学习第五天(一)对页面进行修改
- IOS开发---菜鸟学习之路--(十二)-利用ASIHTTPRequest进行异步获取数据
- iOS学习之路--通过APP边学编写(二)搭建基础的开发环境
- ios 页面传值4种方式(四) 之通过delegate(代理)
- ios学习-delegate、传值、跳转页面
- IOS开发---菜鸟学习之路--(十)-实现新闻详细信息浏览页面
- iOS学习之路--通过APP边学编写(一)确定APP的实现目标
- 【学习ios之路:UI系列】获取通过UIImagePackerController获取的系统相册图片的名称信息及保存系统相册到本地
- IOS开发---菜鸟学习之路--(八)-实现新闻页面
- iOS开发之如何通过路由方式进行页面间的跳转