Objective-C 协议(Protocol) 详解与代理(委托)设计模式
发布时间
阅读量:
阅读量
协议的声明形式与类的接口相似,但存在关键差异,即协议不具有父类且无法定义实例变量。作为一种特殊的程序设计结构,协议主要用于声明其他类需要实现的方法。该示例代码已上传至:https://github.com/chenyufeng1991/Objective-C_Protocol>。
协议在以下几种情形中具有重要作用:
(1)用于定义需由其他类实现的方法;
(2)用于声明尚未明确的类接口;
(3)用于实现两个类之间的信息交互。
协议的基本特性包括:
(1)任意类均可实现协议中所定义的方法;
(2)协议本身并非一个类,而是为其他类提供了一个可实现的接口定义;
(3)类别同样可以采用协议进行扩展。
协议中常用的关键字有:
(1)required:表明该方法必须被强制实现;
(2)optional:表明该方法可以选择性地进行实现。
在前一篇博客《iOS开发设计模式详解》中,我曾探讨过iOS开发中最常见的设计模式。当我们提及协议时,就不得不涉及代理设计模式。正是由于协议的存在,使得代理设计模式成为iOS开发中的热门选择。首先,Objective-C作为一门仅支持单继承的语言,在iOS开发过程中也遵循这一规则。因此,代理设计模式被广泛采用以弥补这种语言机制上的局限性。
代理设计模式的核心概念如下:
代理是一种机制,它允许一个对象在另
全部评论 (0)
还没有任何评论哟~
