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

Protocol和Delegate简介

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

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

以下是代码:

#import 

@protocol TGUnlockRecordDelegate 

- (void)rankSwitchClick:(NSInteger)type;

@end

@interface TGUnlockRecordHead : UIView

@property (nonatomic, weak) id  delegate;

+ (instancetype)unlockRecordHead;

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

@end

你可能感兴趣的:(iOS 中的协议(protocol)和代理(delegate))