iOS开发之 协议 protocol

来源:互联网 发布:林丹 知乎 编辑:程序博客网 时间:2024/06/04 19:53


Protocol是ios开发中的一个难点也是一个重点,要想使用好,或者理解好它,可能需要时间的累积。今天我们就通过一个例子来简单的看一下,怎么样使用protocol。

  我们今天用的例子就是模拟电脑插入usb设备来剖析一下protocol的使用。

  我们首先来想一下,我们的usb设备和电脑的pci接口之间应该是需要遵从某种协议的,否则的我们的usb设备不可能在电脑上使用的!

  假如说我们模拟的usb协议是这样的USBProtocol



这个协议规定通电是必须要实现的方法,可以通过@required来修饰我们声明的方法,这样一来,我们在类遵从了的时候就必须要实现,而用@optional来声明的方法,则是类遵从这个协议的时候选择实现的!

  有了这个协议我们来模拟usb设备的生产,创建下面的两个类,一个是用USB接口的小风扇,一个就是我们的U盘。



这个是风扇类里面,风扇遵从的协议但是只实现了必须要实现的方法通电功能!


而Disk类,所有的方法都实现了。

接下来,我们开始创建我们的电脑类



我们通过给电脑类中添加一个实现USBProtocol协议的一个协议变量来模拟在电脑上设置一个usb接口,添加一个在usb设备插入后要实现的功能!

在main函数中模拟usb设备插入的状态


用set方法表示给usb接口插入数据,我们会发现在出入不同的设备并且运行的时候,调用的方法,会在不同的文件中实现! 

0 0
原创粉丝点击