以下方法实现了使用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