首页 > 代码库 > IOS下viewcontroller之间传递数据

IOS下viewcontroller之间传递数据

使用场景

A中调用B页面,在B中用户做了处理后,将数据回传给A

第一步,新建passValueDelegate.h

#import <Foundation/Foundation.h>

@protocol PassSelectDelegate <NSObject>

-(void)passValue:(NSDictionary *)value;

@end
 
第二步,第一个viewcontroller中遵守协议
ApplyController.h
#import "PassSelectDelegate.h"

@interface ApplyController : UIViewController<PassSelectDelegate, UITextFieldDelegate>
 
在ApplyController.m中实现协议
-(void)passDelegate:(NSDictionary *)value
{
  NSLog("value:%@", value);
}
注意:在从第一个ViewController跳转到第二个ViewController的过程中,指定代理是在第一个viewcontroller中实现的
SecondViewController *viewcontroller = [SecondViewController alloc] init];
viewController.delegate = self;
[self.navigationController pushViewController:viewController animated:YES];
 
第三步,在第二个viewcontroller中调用这个协议
SecondViewcontroller.h
#import "passSelectDelegate.h"
@property(nonatomic,assign) NSObject<PassSelectDelegate> *delegate;
 
SecondViewcontroller.m
-(void)confirmSelect:(NSDictionary *)selectValue
{
    [self.delegate passValue:selectValue];
    [self.navigationController popViewControllerAnimated:YES];
}
 
[本博文是记录传递参数原理,直接不知代码可能不能执行]
 

IOS下viewcontroller之间传递数据