zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    错误与异常_2-11选择题
    错误与异常_2-10选择题
    错误与异常_2-8选择题
    错误与异常_2-7选择题
    C#定时器
    C#动态webservice调用接口
    C# webservice返回Xml格式文件
    C#创建简单的Xml文件
    获取数据库中指定类型的数据库名称
    C#生成Xml以UTF-8无BOM格式编码
  • 原文地址:https://www.cnblogs.com/nonato/p/3446989.html
Copyright © 2011-2022 走看看