iOS 中的协议(protocol)和代理(delegate)

2018-07-22  本文已影响20人  管乐_VICTOR

Protocol和Delegate简介

Protocol协议类似于Java中的接口,是一个自定义方法的集合,让遵守这个协议的类去实现为了达到某种功能的这些方法,Java中是必须选择实现的方法,Objective-C中可以通过@optional(可选)或者@required(必须实现)来控制。Delegate代理是一种设计模式,通过@protocol来实现,可以通过本类来远程操作(代理通知实现协议)其他类做出操作,完成一些任务。

协议中默认的都是@required类型,需要做成可选手动需要添加@optional类型来进行实现。

以下是代码:

#import <UIKit/UIKit.h>

@protocol TGUnlockRecordDelegate <NSObject>

- (void)rankSwitchClick:(NSInteger)type;

@end

@interface TGUnlockRecordHead : UIView

@property (nonatomic, weak) id <TGUnlockRecordDelegate> delegate;

+ (instancetype)unlockRecordHead;

- (void)refreshOperateName:(NSString *)operateName operateImg:(NSString *)operateImg;

@end
上一篇下一篇

猜你喜欢

热点阅读