• ios 自定义delegate(一)


    在自定义协议的头文件 .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 respondsToSelector@selector(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

    {
    }

  • 相关阅读:
    种类并查集
    因式分解
    最长递增(不减)子序列
    C++之算法题模板
    线段树
    C++之环境搭建
    C++之vector用法
    逆序数以及右边更小数的个数
    Unity3d之动态连接Mesh Renderer和Collider
    Matlab之字符串处理
  • 原文地址:https://www.cnblogs.com/yulang314/p/3555256.html
Copyright © 2020-2023  润新知