zoukankan      html  css  js  c++  java
  • block 理解及 简单回调

    block 就是一个代码块,上代码:

    TestBlock类中  就是定义block     给 block 传入参数  ,“方法”体里   留到回调的地方   实现

    #import <Foundation/Foundation.h>
    
    typedef void (^BlockCallBack)(NSString *SayWhat);
    
    @interface TestBlock : NSObject
    {
        BlockCallBack bcb;
    
    
    }
    @property(nonatomic,assign)BlockCallBack bcb;
    -(void)initBcb:(id)entity:(BlockCallBack)bcb1;
    @end
    #import "TestBlock.h"
    #import <objc/runtime.h>
    @implementation TestBlock
    @synthesize bcb;
    
    -(void)initBcb:(id)entity :(BlockCallBack)bcb1
    {
        const char *name=   object_getClassName(entity);
      
        self.bcb=bcb1;
        if (bcb) {
            bcb([[NSString alloc] initWithUTF8String:name]);
        }else
        {
            NSLog(@"参数  bcb1 未实现...");
        
        }
        
    
    }
    
    
    
    
    
    -(void)dealloc
    {
        
        [super dealloc];
    
    }
    @end

    再joce 类中  (一人名  简单事例   不太规范)

    回调 block   得到参数   实现 “方法”体

    #import <Foundation/Foundation.h>
    #import "TestBlock.h"
    @interface Joce : NSObject
    {
        TestBlock *tb;
    
    
    }
    @property(nonatomic,retain)TestBlock *tb;
    
    
    -(void)sayHello;
    @end
    #import "Joce.h"
    
    @implementation Joce
    @synthesize tb;
    
    
    -(void)sayHello
    {
    
        if (tb) {
            [tb initBcb:self :^(NSString *name){
            
            
                NSLog(@"%@ Say Hello Word!!!!!!",name);
            
            
            
            }];
        }else
        {
        
            NSLog(@"请实例化 joce");
        
        }
    
    
    
    }
    
    -(void)dealloc
    {
    
        [tb release];
        [super dealloc];
    }
    
    
    @end

    ok....

    希望下次能再  项目中用到....

  • 相关阅读:
    自己的思考
    spring MVC整合freemarker
    手把手教你搭建SpringMVC——最小化配置
    深入hibernate的三种状态
    maven 构建slf4j1.7.7之简单测试与源码解析
    maven 构建slf4j1.7.7之简单测试与源码解析
    (转)URI和URL的区别
    Spring缓存机制的理解
    (转)oracle 高水位线详解
    (转)PL/SQL Developer使用技巧、快捷键
  • 原文地址:https://www.cnblogs.com/DamonTang/p/2817928.html
Copyright © 2011-2022 走看看