美文网首页
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