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

{
}

ios 自定义delegate(一)的更多相关文章

  1. 【iOS自定义键盘及键盘切换】详解

    [iOS自定义键盘]详解 实现效果展示: 一.实现的协议方法代码 #import <UIKit/UIKit.h> //创建自定义键盘协议 @protocol XFG_KeyBoardDel ...

  2. 转iOS中delegate、protocol的关系

    iOS中delegate.protocol的关系 分类: iOS Development2014-02-12 10:47 277人阅读 评论(0) 收藏 举报 delegateiosprocotolc ...

  3. ios学习-delegate、传值、跳转页面

    ios学习-delegate.传值.跳转页面     1.打开xcode,然后选择ios--Application--Empty Application一个空项目. 项目目录: 2.输入项目名称以及选 ...

  4. iOS 自定义转场动画

    代码地址如下:http://www.demodashi.com/demo/12955.html 一.总效果 本文记录分享下自定义转场动画的实现方法,具体到动画效果:新浪微博图集浏览转场效果.手势过渡动 ...

  5. iOS 自定义转场动画浅谈

    代码地址如下:http://www.demodashi.com/demo/11612.html 路漫漫其修远兮,吾将上下而求索 前记 想研究自定义转场动画很久了,时间就像海绵,挤一挤还是有的,花了差不 ...

  6. iOS自定义的UISwitch按钮

    UISwitch开关控件 开关代替了点选框.开关是到目前为止用起来最简单的控件,不过仍然可以作一定程度的定制化. 一.创建 UISwitch* mySwitch = [[ UISwitchalloc] ...

  7. 如何实现 iOS 自定义状态栏

    给大家介绍如何实现 iOS 自定义状态栏 Sample Code: 01 UIWindow * statusWindow = [[UIWindow alloc] initWithFrame:[UIAp ...

  8. iOS自定义组与组之间的距离以及视图

    iOS自定义组与组之间的距离以及视图 //头视图高度 - (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(N ...

  9. iOS自定义转场动画实战讲解

    iOS自定义转场动画实战讲解   转场动画这事,说简单也简单,可以通过presentViewController:animated:completion:和dismissViewControllerA ...

随机推荐

  1. RxJava入门之路(二)

    收集一下能够避免背压的运算符 sample(500, TimeUnit.MILLISECONDS)  定期收集数据,并发送最后一个 throttleFirst(500,TimeUnit.MILLISE ...

  2. Codeforces34C【尺取】

    题意: 输入一系列的数,连续数字则输出连续区间 看第一个案例就很明显 思路: 输入字符串输入,预处理一下. 写了个挫尺取- 贴一发挫code--. #include <bits/stdc++.h ...

  3. hdu1232 畅通工程 基础并查集

    #include <cstdio> #include <cstring> #include <algorithm> #include <cstdlib> ...

  4. Eclipse - Maven项目Update Project后jdk版本变成1.5

    问题与分析 最近遇到个奇怪的问题,在Eclipse里对一个Maven项目进行Update Project(快捷键是 Alt+F5),原本jdk为1.8的项目忽然就变成了1.5,于是就报了一些错误. 我 ...

  5. Qt之对话框QDialog

    这一节主要讲述对话框类,先讲述两种不同类型的对话框,再介绍Qt提供的几个标准对话框.对应本节的内容,可以在帮助索引中查看 QDialog 和 Dialog Windows 关键字. 一.模态和非模态对 ...

  6. 洛谷p1115 最大子段和

    题目链接: 最大子段和 题目分析: 动态规划O(n)求解,设f[i]表示以i为终点的最大子段和 分两种情况: 若f[i-1]>0,则显然f[i]=f[i-1]+a[i](a[i]必须包含在内) ...

  7. java基本数据类型在栈中怎么存放的?

    参考地址:https://www.zhihu.com/question/24747160 问:int a = 3; 首先它会在栈中创建一个变量为a的引用,然后查找有没有字面值为3的地址,没找到,就开辟 ...

  8. [已读]编写可维护的javascript

    13年4月份出版,作者是大名鼎鼎的Zakas,他的另两本书<javascript高级程序设计>与<高性能javascript>你一定听过或者读过. 这本书重点讲了编码风格和编码 ...

  9. RHEL 6.5 ----Postfix邮件服务器

    主机名 IP  服务  master 192.168.30.130   slave 192.168.30.131   软件包介绍 包名  介绍  postfix-2.6.6-2.2.el6_1.x86 ...

  10. P1936 水晶灯火灵

    题目描述 ,刚好符合以下③条规则:①m.n∈{1,2,……,k}②(n²-m*n-m²)²=1③m.n为整数. 输入输出格式 输入格式: Only one:k.(What?还是失败?) 输出格式: 共 ...