block 和delegate的用法
2024-10-13 05:06:26
//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
最新文章
- AC自动机 HDU 2896
- Subsonic的使用之基本语法、操作(2)
- 第一个Struts2程序之HelloWorld
- VMware中装Win2012并配置Hyper-v
- Linux下的NFS配置(转)
- hdu4918 Query on the subtree
- JW Player 现在支持 Azure 媒体服务
- c# gdi+输出成不同mime类型的图片
- 处理eclipse启动时报java.lang.IllegalStateException
- JS 特殊字符的验证的问题
- JavaScript代码规范
- 使用Eclipse+jlink调试STM32
- STREAMING HIVE流过滤 官网例子 注意中间用的py脚本
- Vue学习之路---No.3(分享心得,欢迎批评指正)
- java static关键字和代码块
- web前端框架之Vue hello world
- ";她等待刀尖已经太久";--茨维塔耶娃诗抄
- Java学习笔记35(异常)
- Linux-目录与文件
- rsync同步数据---把左边的文件全部拷贝到右边
热门文章
- CentOS 7 安装和配置JDK
- [转载]通过jQuery的attr修改onclick
- 【Android - 框架】之Fresco的使用
- WebLogic: The Definitive Guide examined WebLogic&#39;s security mechanisms--reference
- JMeter 使用
- Linux 关闭及重启方式
- JavaScript正则验证数字、英文、电话号、身份证号、邮箱地址、链接地址等
- 自己做的demo--关于HashMap
- Android Camera 流程梳理
- ubuntu桌面变空白,或者只有壁纸,任务栏消失的解决办法