block 和delegate的用法
//block 和delegate的用法 设置代理
#import <UIKit/UIKit.h> typedef void (^ASIHeadersBlock)(NSString *myString); @protocol AHViewControllerDelegate <NSObject> - (void)smyheadersReceivedBlock:(NSString *)string; @end @interface AHViewController : UIViewController
{
ASIHeadersBlock headersReceivedBlock; NSObject <AHViewControllerDelegate> *delegate;
} @property (nonatomic, assign) NSObject <AHViewControllerDelegate> * delegate; - (void)setHeadersReceivedBlock:(ASIHeadersBlock)aReceivedBlock; @end --------------------------------------------------------------------- //
// AHViewController.m
// TestBlock
//
// Created by ganvin on 13-4-12.
// Copyright (c) 2013年 ganvin. All rights reserved.
// #import "AHViewController.h" @interface AHViewController () @end @implementation AHViewController
@synthesize delegate;
- (void)setHeadersReceivedBlock:(ASIHeadersBlock)aReceivedBlock
{
[headersReceivedBlock release];
headersReceivedBlock = [aReceivedBlock copy];
} - (void)viewDidLoad
{
[super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib.
if(headersReceivedBlock)
{
headersReceivedBlock(@"ssss");
} if (delegate!= nil && [delegate respondsToSelector:@selector(smyheadersReceivedBlock:)])
{
[delegate performSelector:@selector(smyheadersReceivedBlock:) withObject:@"sssss"];
}
} - (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
- (void)dealloc
{
delegate = nil;
if (headersReceivedBlock)
{
[headersReceivedBlock release];
headersReceivedBlock = nil;
}
[super dealloc];
}
@end
block 和delegate的用法的更多相关文章
- block的用法以及block和delegate的比较(转发)
看到一篇写的关于block和delegate放在一起来方便大家理解的文章,感觉不错,就推荐给大家来看一下. 代理设计模式对于iOS开发的人来说肯定很熟悉了,代理delegate就是委托另一个对象来帮忙 ...
- dispaly 的block与inline-block的用法
一直以来没有弄清block与line-block的用法,今天花点时间整理一下. <body> <div class="div1">div1</div& ...
- block和delegate的区别
代理 可读性高 大部分可以属性 block 写的代码少 一般作为参数通知 占用资源 无论是block还是delegate模式本质上都是回调,使用block,其优点是回调的block代码块直 ...
- block(九)Block 和 Delegate 的使用比较
Block 和 Delegate中的方法都可以理解成回调函数,当某件事情发生的时候取执行一段代码片段 Block(代码块) 优点:是一种轻量级的回调,能够直接访问上下文,使用块的地方和块的实现地方在同 ...
- Block代替delegate,尽量使用block,对于有大量的delegate方法才考虑使用protocol实现.
Block代替delegate,尽量使用block,对于有大量的delegate方法才考虑使用protocol实现. 1.Block语法总结及示例如下: //1.普通代码块方式bloc ...
- Block 与 delegate
代理设计模式对于iOS开发的人来说肯定很熟悉了,代理delegate就是委托另一个对象来帮忙完成一件事情,为什么要委托别人来做呢,这其实是MVC设计模式中的模块分工问题,例如View对象它只负责显示界 ...
- block和delegate的选择
block和delegate均为常用回调方式 (暂不讨论通知) 代理 优点: 设置某个对象的代理,代理对象可以与被代理对象不直接相关,即使两个对象距离较远,传值也比较方便. 代理方法内可以方便调用 ...
- [IOS Block和delegate的对比]
原文:http://blog.sina.com.cn/s/blog_9e8867eb0102uykn.html 这篇文章建议和前一篇一起看, 另外先弄清楚IOS的block是神马东东. 委托和bloc ...
- block(五)用法
最近又从网上找了点block用法的博客,供大家参考. Block简介: Block的实际行为和Function很像,最大的差别是在可以存取同一个Scope的变量值.Block实体形式如下: ^(传入参 ...
随机推荐
- 虚拟机linux系统下ifconfig获取不到ip
原因:网卡未激活 1.输入ifup eth0命令激活网卡 2.输入ifconfig查询ip
- 初识phaser框架——开源的HTML5 2D游戏开发框架
背景: 在网上看到,65行实现flappy bird,感到很好奇.原来是使用开源的2D游戏框架 phaser开发的. 什么是phaser2D游戏开发框架呢? 借鉴与网上的资料: 1. Phase ...
- 使用FileSystemWatcher监视文件变化
本文转载:http://www.cnblogs.com/zanxiaofeng/archive/2011/01/08/1930583.html FileSystemWatcher基础 属性: Path ...
- 《Java并发编程实战》第六章 任务运行 读书笔记
一. 在线程中运行任务 无限制创建线程的不足 .线程生命周期的开销很高 .资源消耗 .稳定性 二.Executor框架 Executor基于生产者-消费者模式.提交任务的操作相当于生产者.运行任务的线 ...
- Marquee滚动字幕设置(转)
<marquee >滚动文字 </marquee> 方向 <direction=#> #=left, right,up,down 方式<bihavior=#& ...
- hadoop2.2 伪分布式环境
在安装JDK之前,请确认系统是32还是64,根据系统版本,选择JDK版本.Hadoop版本 下面是以在CentOS-6.5-x86_64系统上安装为例 安装前准备 在"/usr"下 ...
- [转] Linux抓包工具tcpdump详解
http://www.ha97.com/4550.html PS:tcpdump是一个用于截取网络分组,并输出分组内容的工具,简单说就是数据包抓包工具.tcpdump凭借强大的功能和灵活的截取策略,使 ...
- Xcode常见报错及解决办法
报错一: 在iOS7的真机运行时,弹出错误:App installation failed. There was an internal API error. 如图 解决办法: 在Xcode -> ...
- Java基础知识强化05:不借助第三个变量实现两个变量互换
1. 不借助第三个变量实现两个变量互换 代码如下: package himi.hebao; /** * 不借助第三个变量实现,两个变量互换 * 这里利用^异或实现两个变量的互换 * @author A ...
- 使用java注解的例子有没有
使用java注解的例子 参考文档:http://www.cnblogs.com/pepcod/archive/2013/02/20/2918719.html http://www.shaoqun.co ...