zoukankan      html  css  js  c++  java
  • 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

    {
    }

  • 相关阅读:
    shell命令--stat
    英文段子
    OCP读书笔记(16)
    shell命令--uptime
    OCP读书笔记(15)
    shell命令--dmesg
    OCP读书笔记(14)
    shell命令--hostname
    OCP读书笔记(13)
    shell命令--uname
  • 原文地址:https://www.cnblogs.com/yulang314/p/3555256.html
Copyright © 2011-2022 走看看