ViewController之间协议传值

以下方法实现了使用Delegate在两个ViewController之间传值,这种场景一般应用在进入子界面输入信息,完后要把输入的信息回传给前一个界面的情况,比如修改用户个人信息,点击修改进入修改界面,修改完后到显示界面显示修改后的结果。

 

//  PassValueDelegate.h

#import <Foundation/Foundation.h> 

@protocol PassValueDelegate <NSObject>

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

@end

 

//  LikeListViewController.h

#import <UIKit/UIKit.h>

@protocolPassValueDelegate;

@interface LikeListViewController : UIViewController<PassValueDelegate> {

    id<PassValueDelegate> _delegate;

}

@property(nonatomic, assign)id<PassValueDelegate> _delegate;

@end

 

//  LikeListViewController.m

#import "LikeListViewController.h"

 

@implementation LikeListViewController

@synthesize _delegate;

 

- (void)viewDidLoad {

        [superviewDidLoad];

[_delegate passValue:likeitem];

}

 

//  ViewController.h

#import "PassValueDelegate.h"

 @interface ViewController : UIViewController<PassValueDelegate> {

}

@end

 

//  ViewController.m

#import "ViewController.h"

- (void)viewDidLoad {

    

    [superviewDidLoad];

}

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

     NSLog(@"传过来的字典类型=======%@",value);

 

}

@end

 

 

 

原文地址:https://www.cnblogs.com/jiangshiyong/p/2736961.html