1.定义
代理设计模式,是IOS中一种消息传递的方式,由代理对象、委托者、协议组成。
-
协议:用来指定代理可以做什么,必须做什么
-
代理:根据指定协议,完成委托方需要实现的方法
-
委托:根据指定协议,指定代理必须完成和可以完成的方法
2.作用
-
传值(逆向传值)
-
传递事件
3.传值
声明协议:
NextViewController.h
#import <UIKit/UIKit.h>
NS_ASSUME_NONNULL_BEGIN
//声明协议
@protocol NextViewControllerDelegate <NSObject>
//协议中必须完成的方法
- (void)sendValue:(NSString *)string;
@end
@interface NextViewController : UIViewController
//持有delegate的为委托者
@property (nonatomic, weak) id<NextViewControllerDelegate> delegate;
@end
NS_ASSUME_NONNULL_END
委托者(指定代理需要完成的方法):
NextViewController.m
#import "NextViewController.h"
@interface NextViewController ()
//委托者
@property (n