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
  • 相关阅读:
    (转)android头像设置:从本地照片库或拍照获取并剪裁
    获取短信验证码之后按钮背景变化并且出现倒计时
    欢迎界面的下方指示位置圆
    android 关于Toast重复显示解决方法
    判断是不是电话号码
    (转)根据ImageView的大小来压缩Bitmap,避免OOM
    (转)android屏幕适配
    GSON解析JSON
    Linux-命令-cut
    Linux-自疑惑
  • 原文地址:https://www.cnblogs.com/nonato/p/3446989.html
Copyright © 2011-2022 走看看