委托

iOS中 委托 代理 协议 的理解

 ̄綄美尐妖づ 提交于 2020-04-07 03:08:22
1、协议:协议不是类,是一种约定,他声明的方法和属性,都是独立于其他任何特定的类,并本身不会去实现他,让使用他的类去实现他,比如UITableView,需要实现他的cellForRowAtIndexPath等协议,谁用谁知道。 协议的两个预编译指令@optional :可以选择的方法。@required:必须执行的方法。 我们打开UITableView的头文件,看下他的声明: @protocol UITableViewDataSource<NSObject> @required - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section; // Row display. Implementers should *always* try to reuse cells by setting each cell's reuseIdentifier and querying for available reusable cells with dequeueReusableCellWithIdentifier: // Cell gets various attributes set automatically based on table (separators) and

C#学习笔记之-----使用委托来用不同语言写HelloWorld

萝らか妹 提交于 2020-01-10 11:01:24
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 最近学到委托了,贴上代码吧。 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Delegate { public delegate void GreetingDelegate (string name); class Program { public static void MakeGreeting (string name,GreetingDelegate gd) { gd(name); } public static void EnglishGreeting(string name) { Console.Write("Hello," + name + "\n"); } public static void ChineseGreeting(string name) { Console.Write("你好," + name + "\n"); } static void Main(string[] args) { MakeGreeting("World", EnglishGreeting);

对ios中Delegate的理解

我只是一个虾纸丫 提交于 2019-12-04 16:49:16
最近刚接触协议@protocol 和委托 delegate 弄得一头雾水 通过这几天的学习有了一定的了解 : 首先 协议protocol 和委托delegate 是两个完全不同的概念 放在一起说 是因为我们总是在同一个头文件里看到它们; 首先解释一下什么是委托 :举个例子 ,我工作的时候给你打电话,让你帮我查某人的电话号码,把事情交给你后,我继续工作 过了几分钟 你打电话回来告诉我 查到的结果。。。 @end 那么你就是我的委托对象,当你完成事件后 返回给我一个值;这就是委托。也就是 :我.delegete = 你; Delegate本身应该称为一种设计模式。 是把一个类自己需要做的一部分事情,让另一个类(也可以就是自己本身)来完成。 比如 设定一个协议方法:delegateMethod @protocol MyDelegate -(void)delegateMethod; @end 在A类中实现该协议并实现方法: @interface A : UIViewController <MyDelegate> @implementation A -(void)delegateMethod { NSLog(@"delegateMethod"); } 在B中定义delegate指针; @interface B : UIViewController { id delegate; }