美文网首页
iOS 中的协议(protocol)和代理(delegate)

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

作者: 管乐_VICTOR | 来源:发表于2018-07-22 12:41 被阅读20次

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

相关文章

网友评论

      本文标题:iOS 中的协议(protocol)和代理(delegate)

      本文链接:https://www.haomeiwen.com/subject/jmulmftx.html