文档章节

OC高效率52之通过委托与数据源协议进行对象间通信

阿元
 阿元
发布于 2016/02/29 10:39
字数 163
阅读 19
收藏 0
#import <Foundation/Foundation.h>
// 对象间通信:
// 在信息源模式中,信息又数据源流向类
// 普通的委托模式中,信息则从类流向受委托者
@class EOCNetworkFetcher;

@protocol EOCNetworkFetcherDelegate <NSObject>

@required
-(void)networkFetcher:(EOCNetworkFetcher *)fetcher didReceiveData:(NSData *)data;

@optional
-(void)networkFetcher:(EOCNetworkFetcher *)fetcher didFailWithError:(NSError *)error;
@end



@interface EOCNetworkFetcher : NSObject

@property (nonatomic , weak) id<EOCNetworkFetcherDelegate> delegate;//利用属相来存放委托对象
@end

#import "EOCNetworkFetcher.h"

@implementation EOCNetworkFetcher
-(void)didSomeSthing{

    if ([_delegate respondsToSelector:@selector(networkFetcher:didReceiveData:)]){
        [_delegate networkFetcher:nil didReceiveData:nil];
    }
}
@end
#import <Foundation/Foundation.h>
#import "EOCNetworkFetcher.h"
@interface EOCDataModel : NSObject<EOCNetworkFetcherDelegate>

@end

#import "EOCDataModel.h"

@implementation EOCDataModel
-(void)networkFetcher:(EOCNetworkFetcher *)fetcher didReceiveData:(NSData *)data
{
//do some things
}
-(void)networkFetcher:(EOCNetworkFetcher *)fetcher didFailWithError:(NSError *)error
{

}
@end


© 著作权归作者所有

共有 人打赏支持
阿元
粉丝 5
博文 159
码字总数 105229
作品 0
浦东
程序员
编写高质量iOS与OS X代码的52个有效方法(上篇)

第一章 熟悉Objective-C 1. 了解Objective-C语言的起源 Objective-C(以下简称OC)是C语言的超集,相比C语言多了面向对象的特性。OC使用动态绑定的消息结构,换句话说,只有在运行时才会检查...

还是不够辣
2017/04/06
0
0
iOS-消息转发机制

前言 其他编程语言所说的函数调用,在oc中被称作为发送消息;消息转发的作用,开发者可以在找不到的方法的情况下,可以通过动态添加方法或者是消息转发,确定本次发送消息是否成功,通过这样...

麦兜卖鱼丸
2016/03/27
66
0
Protocol and Delegate协议和代理

1.什么是协议? OC协议仿照Java的接口。协议和接口,都是不同类的对象之间一种通信的机制。 2.协议的基础语法 单纯的语言描述协议的语法,很难让人理解,主要因为在OC中协议是类对象的通信机...

飞奔的土豆
2012/12/14
0
0
iOS编写质量代码

这是一篇读书笔记,快速记录各种高效率编程的技巧和方法。这些方法是为了提升编码质量和效率,高质量代码利于后期的维护和更新,毕竟不能一份代码到永远。 由于是记录形式,当然不能把整篇内...

nerozhao
2015/09/08
83
0
Binder进程间通信(附)---- binder结构体说明

binder_node 结构体binder_node用来描述一个Binder实体对象。每一个Service组件在Binder驱动程序中都对应有一个Binder实体对象,用来描述它在内核中的状态。Binder驱动程序通过强引用计数和弱...

街角的小丑
2017/10/24
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Univalsal_ImageLoader源码结构与创建者模式 初步小结

最近在回归看Univalsal_ImageLoader源码,本想自己也实现试试写一个,看源码是为了学习看能否使用,助于自己可以写出有自己逻辑结构的代码。 首先我们初始化ImageLoader的配置初始化的时候,...

DannyCoder
53分钟前
0
0
计算卷积神经网络浮点数运算量

前言 本文主要是介绍了,给定一个卷积神经网络的配置之后,如何大概估算它的浮点数运算量。 相关代码:CalFlops,基于MXNet框架的 Scala 接口实现的一个计算MXNet网络模型运算量的demo。 正文...

Ldpe2G
今天
3
0
Sql语言与MySql数据库

1. 数据库简介 1. 数据库,就是存储数据的仓库,只能通过sql语言来访问,数据库也是一个文件系统。通常,MySQL、Oracle等数据库,也被称为关系型数据库,其保存的不仅仅只是数据,还包括数据...

江左煤郎
今天
3
0
IDEA 取消自动import .*

打开设置 > Editor > Code Style > Java > Scheme Default > Imports ① 将 Class count to use import with "*" 改为 99 (导入同一个包的类超过这个数值自动变为 * ) ② 将 Names count ......

乔老哥
今天
4
0
PostGIS学习笔记(开篇)

PostGIS事实上算是笔者开始写博客的第一篇内容。而事实上那篇博文的内容并不丰富,笔者对PostGIS的了解仍然不多,然而17年在OSGeo课程学习时对PostGIS又有了进一步了解,并逐步发现它的强大。...

胖胖雕
今天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部