美文网首页
iOS中Block声明方式

iOS中Block声明方式

作者: 小小在流浪 | 来源:发表于2020-03-12 14:13 被阅读0次

如何在Objective-C中声明一个Block?

接下来正文中出现词语定义:

returnType: 返回类型, NSInteger、BOOL、int、...
blockName: block名称,自己定义
parameterTypes: 参数类型 ,NSInteger、BOOL、int、...
parameters : 参数类型 +名 称 ,NSInteger index, BOOL flag ...
someObject : 对象,实例对象 、类对象、self、...

  • 局部变量

returnType (^blockName)(parameterTypes) = ^returnType(parameters) {...};

NSInteger (^myblock)(BOOL) = ^NSInteger(BOOL flag) {
  //code
  if(flag) return 1
  return 0;
};
  • 属性

@property (nonatomic, copy) returnType (^blockName)(parameters);

@property (nonatomic,   copy) NSInteger (^myblock)(BOOL flag);
  • 方法参数

-(void)someMethodWithBlock:(returnType(^)(parameters))blockName;

- (void)someMethodWithBlock:(NSInteger(^)(BOOL flag))myblock
{
     //code 
    NSInteger index = myblock(YES);
    //处理返回值 index
}
  • 方法调用的参数

[someObject someMethodWithBlock:^returnType (parameters) {...}];

 [self someMethodWithBlock:^NSInteger(BOOL flag) {
    ///code
    if (flag) return 1;
    return 0;
}];
  • C函数的参数:

    voidSomeFunctionWithBlock( returnType(^blockName)(parameterTypes));

    void someMethodWichBlock(NSInteger(^myblock)(BOOL)){
      //code 
     NSInteger index = myblock(YES);
      //处理返回值 index
    };    
    
  • typedef:

typedef returnType (^blockName)(parameters);

blockName aBlock = ^returnType(parameters) {...};

typedef  NSInteger (Myblock)(BOOL flag);

//调用
 Myblock block = ^NSInteger(BOOL flag){
    //code
   if(flag)return 1;
   return 0;   
 };

参考:How Do I Declare A Block in Objective-C?

相关文章

  • iOS中Block声明方式

    如何在Objective-C中声明一个Block? 接下来正文中出现词语定义: returnType: ...

  • block 实用小例子

    本篇是简单介绍iOS 开发中block的使用(附demo): /* 声明一个block (返回类型)(^block...

  • block总结

    block声明 block的定义方式(三种) block 调用 通过typedef声明一个block的类型 注意:...

  • ios block声明

    本文介绍常用的带参无返回值的block的声明,代码如下:

  • 【iOS开发】一些不错的文章博客整理

    持续更新... RunLoop ibireme深入理解RunLoop Block 声明Block 组件化 iOS组...

  • IOS基础Block

    参考: iOS中block的使用、实现底层、循环引用、存储位置 一:Block的使用格式和用途 1,声明和定义格式...

  • 【iOS】常见的 Block 的声明方式

    局部变量returnType (^blockName)(parameterTypes) = ^returnType...

  • Block 初见

    Block 初见 介绍 iOS block 的相关知识 目录 Block 背景知识 Block 使用方式 Bloc...

  • block的使用

    目前Block已经广泛应用于iOS开发中,常用于GCD、动画、排序及各类回调 注: Block的声明与赋值只是保存...

  • iOS复习之Block

    iOS面试中如何优雅回答Block iOS block循环引用

网友评论

      本文标题:iOS中Block声明方式

      本文链接:https://www.haomeiwen.com/subject/unldectx.html