博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ios 自定义delegate(一)
阅读量:5742 次
发布时间:2019-06-18

本文共 723 字,大约阅读时间需要 2 分钟。

在自定义协议的头文件 .h中

@protocol NSDelegate <NSObject>

@optional  //可选

- (void)OnOption:(NSString *)pStr;

@required //必须

- (void)OnRequired:(NSString *)pStr;
@end

 

@interface NSClass :NSObject

id<BSDelegate> delegate;

@end

 

@property(assian) id<BSDelegate> delegate;

 

在自定义协议的实现文件.m中

@synthesize delegate;

 在制定协议实现文件中调用协议

 

如果委托方法是可实现的,可以在调用委托方法的用respondsToSelector来判断是否已经实现了委托方法。

例如:

[delegate (OnOption:)]

然后调用。

如果是必须实现的则直接调用:

[delegate OnRequired:@"test"]

 

其它类中声明和使用协议

@interface UIMyView : UIViewController<BSDelegate>

      NSClass *m_pClass;

@end

 

UIMyView 的.m文件中制定委托并实现相关委托方法

m_pClass.delegate = self;

再实现委托方法:

- (void)OnOption:(NSString *)pStr

{

}

 

- (void)OnRequire:(NSString *)pStr

{

}

转载于:https://www.cnblogs.com/yulang314/p/3555256.html

你可能感兴趣的文章