代理demo

1-  .h

#import <UIKit/UIKit.h>

typedef enum {
    HMStatusDetailTopToolbarButtonTypeRetweeted,
    HMStatusDetailTopToolbarButtonTypeComment,
} HMStatusDetailTopToolbarButtonType;

@class HMStatusDetailTopToolbar, HMStatus;

@protocol HMStatusDetailTopToolbarDelegate <NSObject>
//代理方法
@optional
- (void)topToolbar:(HMStatusDetailTopToolbar *)topToolbar didSelectedButton:(HMStatusDetailTopToolbarButtonType)buttonType;
@end

@interface HMStatusDetailTopToolbar : UIView
+ (instancetype)toolbar;

@property (nonatomic, weak) id<HMStatusDetailTopToolbarDelegate> delegate;
@property (nonatomic, assign) HMStatus *status;

@property (nonatomic, assign) HMStatusDetailTopToolbarButtonType selectedButtonType;
@end

.m

    // 3.通知代理
    if ([self.delegate respondsToSelector:@selector(topToolbar:didSelectedButton:)]) {
        [self.delegate topToolbar:self didSelectedButton:button.tag];
    }

实现代理方法:

#pragma mark - 顶部工具条的代理
- (void)topToolbar:(HMStatusDetailTopToolbar *)topToolbar didSelectedButton:(HMStatusDetailTopToolbarButtonType)buttonType
{
    [self.tableView reloadData];
    switch (buttonType) {
        case HMStatusDetailTopToolbarButtonTypeComment: // 评论
            [self loadComments];
            break;

        case HMStatusDetailTopToolbarButtonTypeRetweeted: // 转发
            [self loadRetweeteds];
            break;
    }
}
时间: 2024-10-13 14:36:05

代理demo的相关文章

Java设计模式—代理模式

代理模式(Proxy Pattern)也叫做委托模式,是一个使用率非常高的模式. 定义如下:     为其他对象提供一种代理以控制对这个对象的访问. 个人理解:        代理模式将原类进行封装,客户端不能直接找到原类,必须通过代理角色.即代理是原类的一个替身,客户端要找原类,统统找代理就可以搞定.明星和经纪人就是一种代理模式. 通用类图如下: 角色定义: ● Subject 抽象主题角色     抽象主题类可以是抽象类也可以是接口,是一个最普通的业务类型定义,无特殊要求. ● Real S

JDK1.8 动态代理机制及源码解析

动态代理 a) jdk 动态代理 Proxy, 核心思想:通过实现被代理类的所有接口,生成一个字节码文件后构造一个代理对象,通过持有反射构造被代理类的一个实例,再通过invoke反射调用被代理类实例的方法,来实现代理. 缺点:被代理类必须实现一个或多个接口 参考链接:http://rejoy.iteye.com/blog/1627405 源码解析:见第四部分 cglib 动态代理 核心思想:通过生成子类字节码实现,代理类为每个委托方法都生成两个方法,以add方法为例,一个是重写的add方法,一个

设计模式课程 设计模式精讲 16-4 代理模式Coding-动态代理

1 代码演练 1.1 动态代理 2 疑难解答 2.1 动态代理invoke怎么执行的? 2.2 感觉这块理解的不是很好,下边有时间再看看 1 代码演练 1.1 动态代理 重点: 重点关注动态代理类 测试类: package com.geely.design.pattern.structural.proxy.dynamicproxy; import com.geely.design.pattern.structural.proxy.IOrderService; import com.geely.d

聊聊JDK动态代理原理

什么是代理 为其他对象提供一种代理以控制对这个对象的访问.在某些情况下,一个对象不适合或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用.--来自百度百科 通俗地讲,就是我们生活中的中介 什么是动态代理 动态代理是在程序运行时通过反射机制操作字节码,从而动态的创建 字节码文件,进而创建代理对象. 不多说了,先上代码 创建接口: public interface OutInfo { void printInfo(); } 创建实现类: public class Pers

Python网络爬虫

http://blog.csdn.net/pi9nc/article/details/9734437 一.网络爬虫的定义 网络爬虫,即Web Spider,是一个很形象的名字. 把互联网比喻成一个蜘蛛网,那么Spider就是在网上爬来爬去的蜘蛛.网络蜘蛛是通过网页的链接地址来寻找网页的. 从网站某一个页面(通常是首页)开始,读取网页的内容,找到在网页中的其它链接地址, 然后通过这些链接地址寻找下一个网页,这样一直循环下去,直到把这个网站所有的网页都抓取完为止. 如果把整个互联网当成一个网站,那么

Python实现网络爬虫

一.网络爬虫的定义 网络爬虫,即Web Spider,是一个很形象的名字. 把互联网比喻成一个蜘蛛网,那么Spider就是在网上爬来爬去的蜘蛛. 网络蜘蛛是通过网页的链接地址来寻找网页的. 从网站某一个页面(通常是首页)开始,读取网页的内容,找到在网页中的其它链接地址, 然后通过这些链接地址寻找下一个网页,这样一直循环下去,直到把这个网站所有的网页都抓取完为止. 如果把整个互联网当成一个网站,那么网络蜘蛛就可以用这个原理把互联网上所有的网页都抓取下来. 这样看来,网络爬虫就是一个爬行程序,一个抓

Python]网络爬虫

Originated From: http://blog.csdn.net/pi9nc/article/details/9734437#comments [Python]网络爬虫(一):抓取网页的含义和URL基本构成 一.网络爬虫的定义 网络爬虫,即Web Spider,是一个很形象的名字. 把互联网比喻成一个蜘蛛网,那么Spider就是在网上爬来爬去的蜘蛛.网络蜘蛛是通过网页的链接地址来寻找网页的. 从网站某一个页面(通常是首页)开始,读取网页的内容,找到在网页中的其它链接地址, 然后通过这些

python写爬虫使用urllib2方法

python写爬虫使用urllib2方法 整理了一部分urllib2的使用细节. 1.Proxy 的设置 urllib2 默认会使用环境变量 http_proxy 来设置 HTTP Proxy. 如果想在程序中明确控制 Proxy 而不受环境变量的影响,可以使用代理. 新建test14来实现一个简单的代理Demo: import urllib2 enable_proxy = True proxy_handler = urllib2.ProxyHandler({"http" : 'htt

http 请求类

1.httpclient请求类 代理demo:http://hc.apache.org/httpcomponents-client-4.3.x/httpclient/examples/org/apache/http/examples/client/ClientExecuteProxy.java 2.I/O exception (java.net.SocketException) caught when processing request: Connect http://luan.iteye.c