iOS-协议、代理

作者: 磊CC | 来源:发表于2016-04-15 15:06 被阅读366次

      上次写了窗口的相关内容,突然觉得很low。low到我自己看到就起鸡皮疙瘩,我想对于但凡对于编程有些了解的人都应该知道哦。感觉像是1+1=2这么简单。其实我这样想不对,1+1到底等于几现在可是一个很深奥的问题。从数学角度来讲就是等于2。其他角度拥有各种答案。不扯了,进入正题。是我个人觉得非常难以明白的,但也是非常重要的一块儿知识,即协议与代理。


首先来说一下协议。

好处:节省代码量

协议:共同遵守的条约,可以不遵守,遵守了也可以不落实。听起来是不是觉得协议很绕,其实是我说的绕了。可以这样讲,协议就是制定共同实现的方法(如果不实现会警告但不会崩溃)

协议定义:

1、协议只有声明文件,只需要告诉人要遵守哪个方法,不需要指定具体怎么去实现。

2、协议有强制执行(@required)和选择执行(@optional),默认的是强制执行。

简单举一个例子,过马路时的红绿灯就是一个协议(对于好公民来说)。不多说,请看示例

@required//强制执行,默认的,不写就默认强制执行

- (void)redLight;

- (void)greenLight;

@optional//选择执行

- (void)yellowLight;

这是不是很明显了,协议是一个公共接口,只要遵守协议的类都可以使用这个接口。强制执行的必须实现,选择执行的自己决定是否实现。

声明协议的步骤:

1、创建声明协议:commcnd+N -> Object-c File ->选择Protocol(下面有图)

2、声明协议方法(示例见上)

3、遵守协议实现协议步骤:

(1)导入协议名#import"协议名.h"

(2)@interface类名:父类名<协议名>

(3)实现协议里面的方法


然后就是让人难受又惊喜的代理了

代理又叫做委托--自己做不了或者不去做,让别人去做

代理的使用步骤:

*前三步 是写在 给别人值(帮别人做事)第二个页面

1、声明代理方法

2、声明属性接口

3、确定什么时候触发代理

*后三步写在接收数据的那第一个页面

4、导入类名代理名

5、挂上代理(*****是否能调用代理方法)

6、实现代理方法

具体代码量蛮多的,跟着步骤不难写出来,代码嘛 多敲几次记忆总比单看来的实在。我就偷把懒,略过了。

相关文章

  • iOS-协议、代理

    上次写了窗口的相关内容,突然觉得很low。low到我自己看到就起鸡皮疙瘩,我想对于但凡对于编程有些了解的人都...

  • iOS-协议与代理

    最近看了许多有关协议与代理的文章,自己试着总结了一下,如果有什么不对的地方欢迎指出~ delegate和 prot...

  • BLE Mesh代理协议

    什么是代理协议?代理协议的作用?代理协议的原理?代理协议的实现过程?为什么会有代理协议? 1、原理:为什么要使用代...

  • IOS开发之协议和代理

    【iOS开发技术分享】协议与代理 【iOS开发技术分享】协议与代理 一、理解协议与代理 协议: 协议是一个方法签名...

  • iOS开发基础:协议、代理、block

    一、协议和代理 首先如果要学习协议和代理,要先了解一下什么是协议和代理 协议(protocol) 协议就是定义一个...

  • Swift delegate的使用

    1.二级页面 定义协议//定义代理协议 2.设置代理属性 3 . 调用代理方法 4 . 在一级页面 遵循代理协议...

  • Swift代理协议的安全使用

    文章 Swift代理协议的安全使用 概述 在Swift下,使用代理协议,并且检验代理对象的存在和协议函数是否被实现...

  • iOS关于代理模式的理解

    代理模式是一种消息传递模式 包括:协议、委托对象、代理对象 协议:用来指定代理双方需要做的事情 委托对象:根据协议...

  • 在UIView上添加触摸事件

    方法1.协议和代理在UIView中设置协议和代理属性 让UIViewController遵守协议并实现协议中的中的...

  • Swift-知识点

    协议 协议支持多继承 类 结构体 枚举都可以遵守协议 协议之间的继承 协议继承用于代理设计模式 代理属性,一般都是...

网友评论

本文标题:iOS-协议、代理

本文链接:https://www.haomeiwen.com/subject/xljnlttx.html