zoukankan      html  css  js  c++  java
  • IOS开发(59)之Block Object的调用

    1 前言

    本文将介绍如何函数调用Block Object以及Block Object调用Block Object。

    2 代码实例

    TestDemo.h

    #import <Foundation/Foundation.h>
    
    @interface TestDemo : NSObject
    
    - (void) callSimpleBlock;
    - (void) callTrimBlock;
    @end

    TestDemo.m

    #import "TestDemo.h"
    
    @implementation TestDemo
    
    
    /*************** 方法调用Block Object Start ***************/
    void (^simpleBlock)(NSString *) = ^(NSString *paramString){
        /* Implement the block object here and use the paramString parameter */
        NSLog(@"%@",paramString);
    };
    - (void) callSimpleBlock{
        simpleBlock(@"Archy");
    }
    /*************** 方法调用Block Object End ***************/
    
    /*************** Block Object调用Block Object Start ***************/
    NSString *(^trimString)(NSString *) = ^(NSString *inputString){
        NSString *result = [inputString stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]];
        return result;
    };
                            
    NSString *(^trimWithOtherBlock)(NSString *) = ^(NSString *inputString){
            return trimString(inputString);
    };
    - (void) callTrimBlock{
            NSString *trimmedString = trimWithOtherBlock(@" Archy ");
            NSLog(@"Trimmed string = %@", trimmedString);
    }
    /*************** Block Object调用Block Object Start ***************/
    
    @end

    main.m

    int main(int argc, const char * argv[])
    {
    
        @autoreleasepool {
            
            TestDemo *test = [[TestDemo alloc] init];
    //        [test callSimpleBlock];
            [test callTrimBlock];
        }
        return 0;
    }

    运行结果

    2013-05-10 06:53:50.893 CallBlockObjectTest[591:303] Trimmed string = Archy

    3 结语

    以上就是所有内容,希望对大家有所帮助。

    Demo下载:http://download.csdn.net/detail/u010013695/5351963

  • 相关阅读:
    实现路由的RouterMiddleware中间件
    AI: Jarvis
    使用管道(PipeLine)和批量(Batch)操作
    OSWatcher Black Box
    NET Core HTTP 管道
    开源项目!
    Router的创建者——RouteBuilder
    .NET Core)的ZooKeeper异步客户端
    single-write-database-connection
    Quartz与Spring集成 Job如何自动注入Spring容器托管的对象
  • 原文地址:https://www.cnblogs.com/jiangu66/p/3072153.html
Copyright © 2011-2022 走看看