ios-代理模式 协议小结

监听控件的某些事件
使用代理模式,是为了在程序直接"解耦"

表格可以显示非常丰富的数据,为了达到这一效果,设置表格的"数据源"
@required 必须实现的方法
@optional 可选的实现方法->不强求实现->如果实现了能得到特殊的效果,如果不实现,也不影响程序的正常运行
能够增加控件的灵活度

代理阶段性小结

1. 遵守协议,预先定义好方法,不实现,具体的实现工作由代理负责
<控件的名字+DataSource> 定义的与数据有关的方法
<控件的名字+Delegate> 定义的与事件有关的方法,通常用来监听控件事件的

2. 代理方法

1> 方法名以控件名称开头(没有类前缀) -> 方便程序员编写的时候,快速找到需要的协议方法
2> 第一个参数是自己 -> 意味着在协议方法中,可以直接访问对象的属性,或者调用方法
3> 代理方法的返回值 -> 控制器向控件(委托)发送数据

时间: 2024-11-05 07:33:05

ios-代理模式 协议小结的相关文章

iOS代理模式

iOS代理模式的简单理解:当一个对象无法直接获取到另一个对象的指针,又希望对那个变量进行一些操作时,可以使用代理模式. 代理主要由三部分组成: (1)协议:用来指定代理双方可以做什么,必须做什么. (2)代理:根据指定的协议,完成委托方需要实现的功能. (3)委托:根据指定的协议,指定代理去完成什么功能. 代理使用步骤 1.申明一个协议  (这个写在需要被获取的对象里面,也可以单独写一个类) @protocol TextDelegate -(void)deliverFirsttext:(NSSt

iOS代理模式设置方法

代理模式通常用于解决类似这样的问题:我们通过界面A打开了界面B,但在应用进行的过程中,界面B有时候也需要和A主动联络,比如点击某个按钮时.一个比较好的办法是,让A成为B的代理,这样B就可以在需要的时候给A发送消息了. 代理模式的一个好处是,B实际上不需要了解A的任何事情,只要知道A是自己的代理就可以了.在这种模式下,B依然独立与A,实现了松耦合. 对象A是对象B的代理,对象B需要向A发送消息,设置方法分四步: 1.在对象B的.h中定义一个protocol代理协议,并声明一个协议的属性变量 2.让

IOS 代理模式 DELEGATE

代理模式:将我(类或结构体)需要来完成的工作交给另一个具备我所要求的能力的人(实现协议的对象)来执行 协议:具备哪些能力 例子:我要去买火车票,没时间买,委托黄牛买票 协议:买票 //: Playground - noun: a place where people can play import UIKit protocol BuyTicketProtocol { // 买票的需求---实际是我需要做的事情 func buyTicket ()-> AnyObject; } class MyTi

ios代理模式-(ViewControler之间传值)

1,新建Single View Application工程,新建SecondViewController 2,在SecondViewController中设置代理 #import <UIKit/UIKit.h> @protocol secondViewControllerDelegate <NSObject> - (NSString *)value; @end @interface SecondViewController : UIViewController @property

iOS中的自定义代理模式

iOS中的自定义代理模式 自定义代理模式分为6步,遵循这6步,就能把代理完整的实现. 1.定义协议(协议中存放代理的任务).我们对于有的自定义的布局视图,并不会带有协议,为了满足我们有时候的开发需求,需要添加代理.那么我们就要先定义一个协议.如下:在自定义视图的DelegateView.h文件中定义一个DelegateViewDelegate协议,协议默认的都是必须的实现的方法,可以根据需求来添加可选实现的方法. 1.定义协议 2.定义代理属性,用来存储代理对象. 2.定义代理属性 3.为Del

软件开发常用设计模式—iOS 中的代理模式总结

比如现在有一个人,想要买一张电影票,但是她很忙碌,没时间去买,那怎么办呢?只能说委托给另一个人去买. 此时,需要 person 给 other 发送消息,通知 other 去给她买电影票,而 other 也要反馈消息给 person,此时 other 就是一个代理人,person 委托代理人去办事情(买票).代理人是给委托人代办一些事情的人.具体代理人怎么做的这些事情,委托人不管,委托人只看反馈. 先看代理设计模式的基本原理 #import <Foundation/Foundation.h>

C++模拟实现Objective-C协议和代理模式

Objective-C的协议和代理是运用最多的特性之一,可以说在苹果系列开发中无处不在.事实上很多人都不知道其背后的原理.事实上简单点说,这就是设计模式中的代理模式的经典运用.代理模式简单点说就是为其他对象提供一种代理以控制对这个对象的访问,而在OC当中形象点说就是如果A完成一件事,但是自己不能完成,于是他找个代理人B 替他完成这个事情,他们之间便有个协议 (protocol),B继承该协议来完成A代理给他的事情. 举个例子:有一个婴儿,他本身不会自己吃饭和洗澡等等一些事情,于是婴儿就请了一个保

swift详解之十一------------协议、委托(代理)模式

协议.委托(代理)模式 注:本小节总结协议以及依靠协议实现委托,这将在以后经常被使用.是一个非常重要的模块 看下官方的定义:协议定义了一个蓝图 , 规定了用来实现某一特定工作或者功能所必须的方法和属性,类.结构体.或者枚举类型都可以遵循协议, 并提供具体实现来完成协议定义的方法和功能 . 任意能够满足协议要求的类型都被成为遵循了这个协议 1.协议的语法 协议的关键字:protocol 协议的语法: protocol Pro1{ //这里定义属性或者方法 } 要使一个类或者结构体遵循某个协议 ,

简单的协议应用-代理模式

协议(protocol): <> 遵守某个协议,只要遵守了这个协议,相当于拥有协议里面的所有方法声明 声明一系列方法 编译器不强求实现协议里所有的方法 分类和协议都只能声明方法,不能声明成员变量 NSObject是基协议 假设一个人要买票,但是他没有空,需要一个代理去帮他问问票价多少啊,还有几张票啊~ 协议TicketDelegate.h,这里指代理所需要拥有的方法. // // TicketDelegate.h // 协议的应用-代理模式 // // Created by Mekor on