欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

OC协议、代理的简单使用

程序员文章站 2022-03-28 19:13:17
恢复内容开始 在不同类之间传递数据,我所学到的有三种,1.代理,2.block,3.通知。在这里,我们先来讲一下代理的使用,后面我会继续讲到block和通知。代理通常和协议是一起使用的,协议通常写在代理类里面,被代理的类要服从协议。 根据我的理解,在这种情况下:一个类里面的数据需要在另一个类里面实现 ......

---恢复内容开始---

  在不同类之间传递数据,我所学到的有三种,1.代理,2.block,3.通知。在这里,我们先来讲一下代理的使用,后面我会继续讲到block和通知。代理通常和协议是一起使用的,协议通常写在代理类里面,被代理的类要服从协议。

  根据我的理解,在这种情况下:一个类里面的数据需要在另一个类里面实现改变,具体一点:在一个手机程序里面,一个界面的数据在另外一个界面中实现改变,然后再回调给这个界面,使这个界面的数据也发生改变。

  首先,来了解一下协议的使用,首先创建一个command line tool工程,创建完成后是这样的:

OC协议、代理的简单使用

  在协议这个类中我们只需要申明方法,不用实现,方法的实现应该在服从这个协议的类里面,协议里面的方法的种类分两种,即required和optional,用required修饰的方法在服从这个协议的类里面必须实现,而用optional修饰的方法可以不实现,现在我们来创建一个专门定义协议的类名为test,

OC协议、代理的简单使用

  在这个类里面定义一套协议,如下:

OC协议、代理的简单使用

  自己定义的协议也要服从上一级协议nsobject协议,在协议里面我定义了一个方法,而且是要求被实现的,接下来我们创建另外一个类名为person。

OC协议、代理的简单使用

  在这个类的头文件里面服从我们上面定义的协议,我们要使用这个协议就必须在person类的头文件里面导入test.h,

OC协议、代理的简单使用

  同时,我们在person.h里面定义一个属性变量名为name,然后在person.m里面实现我们在协议里面定义的dosomething方法

OC协议、代理的简单使用

  在main函数里面实现如下代码并运行,

OC协议、代理的简单使用

OC协议、代理的简单使用

  这样我们就完成了整个协议。

  接下来,我们来看一下代理的实现方法,在这里,我们先不使用协议,

 

  举个例子,一个为

---恢复内容结束---