IOS页面间传值
来源:互联网 发布:实时量角器软件 编辑:程序博客网 时间:2024/06/10 10:54
委托代理(delegate)实现页面传值
委托是指给一个对象提供机会对另一对象中的变化做出反应或者相应另一个对象的行为。其基本思想是协同解决问题。
在程序中:一般情况下
1.委托需要做的工作有:
1.1定义协议与方法
1.2声明委托变量
1.3设置代理
1.4通过委托变量调用委托方法
2.代理需要做的工作有:
2.1遵循协议
2.2实现委托方法
下面讲解一下使用委托实现页面传值的解决方法:
加入我们有两个ViewController 分别为:ViewController和 TrendViewController
一 .需求:
我们要实现这样一个功能,当点击ViewController视图上的一个按钮的时候立刻跳转到TrendViewController,并且把一个String字符串传递过去。
二.解决方案:
1.在ViewController.h文件的最上边声明协议如下:
1
@protocol
PassTrendValueDelegate
2
-(
void
)passTrendValues:(
NSString
*)values;
//1.1定义协议与方法
3
@end
2.继续在ViewController.h中声明一个委托变量
1
///1.定义向趋势页面传值的委托变量
2
@property
(retain,
nonatomic
)
id
<PassTrendValueDelegate> trendDelegate;
3.进入ViewController.m文件在点击按钮事件函数中,设置代理
1
#pragma mark 点击趋势按钮
2
-(
void
)trendBtnClick{
3
//create the view
4
TrendViewController *trendViewController = [[TrendViewController alloc] initWithNibName:
@"TrendViewController"
bundle:
nil
];
5
6
self
.trendDelegate=trendViewController;
//设置代理
7
[
self
.trendDelegate passTrendValues:
@"Lves李兴乐"
];
8
//页面跳转 省
9
}
4.进入TrendViewController.h ,引用ViewController的头文件,并添加代理协议如下:
1
#import "ViewController.h"
2
3
@interface
TrendViewController : UIViewController<PassTrendValueDelegate>{
4
5
}
6
@end
5.实现代理函数:
1
#pragma mark 实现传值协议方法
2
-(
void
)passTrendValues:(
NSString
*)values{
3
NSLog
(
@"values:::%@"
,values);
4
5
}
运行一下 OK.
实现页面传值的方法还有:
1.通知
2.方法
3.代理方法
4.SharedApplication
5.NSUserdefault
6.通过一个单例的class来传递
闭包(block)实现页面传值
同代理。 0 0
- IOS页面间传值
- IOS页面间传值
- iOS页面间传值小结
- ios实现页面间传值
- iOS页面间传值的方式
- PassValue实现了以下iOS页面间传值
- iOS页面间传值的两种方式
- iOS入门学习(页面间传值)
- iOS开发使用Block页面间传值
- iOS页面间传值的一些方式总结
- iOS Newbie - Xcode 7 & iOS 9 页面间传值
- IOS页面加载Html5页面
- ios 页面跳转问题
- ios页面周期
- ios 页面跳转
- 调试IOS页面布局
- IOS之页面跳转
- iOS 页面跳转方式
- javascript作用域与作用域链详解
- Android: ApiHelper
- 链表遍历打印 翻转及 插入元素
- 查找一个字符串中包含有几个指定字符串的数量
- 移动设备开发中WebService的详解
- IOS页面间传值
- VC DEVICE插拔消息
- Ubuntu14.10 安装及软件的安装(JDK1.7+Tomcat7+Mysql5+Myeclipse)
- Unity下Profiler的使用
- 北邮一日游+人生中第一次组队赛
- Android设置背景色变暗
- cocos2dx lua 文件模板
- 最小化到托盘
- iOS设计模式-抽象工厂