ios 页面跳转之间传递数据----通过delegate
来源:互联网 发布:股票持仓图生成软件 编辑:程序博客网 时间:2024/06/05 04:13
主要参考了这篇博客http://mobile.51cto.com/iphone-284116.htm
主要用到了,两个类,一个delegate
a类,调用b类,当b类执行之后,需要把一个数据传递给a类,a类把这个数据显示出来。
1.delegate,就这一个头文件就足够了。在类中去实现这个代理方法
#import <Foundation/Foundation.h>
@protocolUIViewPassValueDelegate
- (void)passValue:(NSString*)value;
一旦某个类,实现了这个回调函数,这个类就会获取当前的value数据。因此,接收数据的类一定实现一个回调函数。对于当前项目就是passValue
@end
2.第一个页面
.h文件
#import <UIKit/UIKit.h>
#import "UIViewPassValueDelegate.h"
#import "ValueInputView.h"
@interfaceDelegateSampleViewController : UIViewController<UIViewPassValueDelegate>
{
UITextField*_value;
}
@property(strong, nonatomic) IBOutletUITextField*value;
- (IBAction)buttonClick:(id)sender;
@end
.m文件
#import "DelegateSampleViewController.h"
@implementationDelegateSampleViewController
@synthesizevalue = _value;
- (id)initWithNibName:(NSString*)nibNameOrNil bundle:(NSBundle*)nibBundleOrNil
{
self= [superinitWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if(self) {
}
returnself;
}
- (void)viewDidLoad
{
[superviewDidLoad];
}
- (void)viewDidUnload
{
[selfsetValue:nil];
[superviewDidUnload];
}
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
return(interfaceOrientation == UIInterfaceOrientationPortrait);
}
- (IBAction)buttonClick:(id)sender
{
ValueInputView* valueView = [[ValueInputViewalloc] init];
valueView.delegate= self;
[selfsetModalTransitionStyle:UIModalTransitionStyleCoverVertical];
[selfpresentModalViewController:valueView animated:YES];
}
-(void)passValue:(NSString*)value
{
self.value.text= value;
NSLog(@"the get value is %@",value);
}
@end
3.第二个类:
.h文件
#import <UIKit/UIKit.h>
#import "UIViewPassValueDelegate.h"
@interfaceValueInputView : UIViewController
{
NSObject<UIViewPassValueDelegate>* delegate;
UITextField* _value;
}
@property(retain, nonatomic) IBOutletUITextField*value;
@property(nonatomic,retain) NSObject<UIViewPassValueDelegate>* delegate;
- (IBAction)buttonClick:(id)sender;
@end
.m文件
#import "ValueInputView.h"
@implementationValueInputView
@synthesizevalue=_value;
@synthesizedelegate;
- (id)initWithNibName:(NSString*)nibNameOrNil bundle:(NSBundle*)nibBundleOrNil
{
self= [superinitWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if(self) {
// Custom initialization
}
returnself;
}
- (void)viewDidLoad
{
[superviewDidLoad];
}
- (void)viewDidUnload
{
[selfsetValue:nil];
[superviewDidUnload];
}
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
return(interfaceOrientation == UIInterfaceOrientationPortrait);
}
- (IBAction)buttonClick:(id)sender {
[delegatepassValue:self.value.text];
NSLog(@"self.value.text is %@",self.value.text);
[selfdismissModalViewControllerAnimated:YES];
}
@end
- ios 页面跳转之间传递数据----通过delegate
- ios 页面跳转之间传递数据----通过delegate
- ios 页面跳转之间传递数据----通过delegate
- iOS --- 通过openURL实现APP之间跳转并传递数据
- 客户端跳转 和 服务器端跳转 页面之间的数据传递
- IOS 页面跳转的数据传递方式
- iOS页面跳转及数据传递
- IOS 页面跳转的数据传递方式
- iOS页面跳转及数据传递
- iOS页面跳转及数据传递
- iOS页面跳转及数据传递
- iOS页面跳转及数据传递
- iOS页面跳转及数据传递
- iOS页面跳转及数据传递
- iOS页面跳转及数据传递
- iOS页面跳转及数据传递
- iOS页面跳转及数据传递
- iOS页面跳转及数据传递
- 在Linux上部署aspnet mvc3
- 3D游戏编程入门(八)计算机图形学
- 理解Javascript的闭包
- ACM学习笔记
- C++多态 虚(纯虚)函数 绑定详解及实例分析
- ios 页面跳转之间传递数据----通过delegate
- 感动的回忆
- IOS 3D UI --- CALayer的透视投影
- 8种常见的Java不规范代码
- mysql中char与varchar的区别
- 转载 兼容iphone5开发获取屏幕分辨率的问题
- android 设置 TextView
- 今年暑假不AC?
- linq 数据库操作封装