美文网首页首页投稿(暂停使用,暂停投稿)
如果使用Block在Objective-C和Swift中

如果使用Block在Objective-C和Swift中

作者: Ylang | 来源:发表于2016-05-17 09:15 被阅读688次

A Block in Objective-C?

1.局部变量:
returnType (^blockName)(parameterTypes) = ^returnType(parameters) {...};

2.声明:
@property (nonatomic, copy,) returnType (^blockName)(parameterTypes);

3.方法中使用:
- (void)someMethodABlock:(returnType (^)(parameterTypes))blockName;

4.方法调用时参数:
[Object someMethodABlock:^returnType (parameters) {...}];

5.别名:
typedef returnType (^TypeName)(parameterTypes);TypeName blockName = ^returnType(parameters) {...};
example:

1.typedef void (^completitionBlock) (id obj, NSError * err);

2.-(id)initWithRequest:(NSURLRequest *)req completitionBlock:(completitionBlock)block;

-(id)initWithRequest:(NSURLRequest *)req completitionBlock:(void (^) (id obj, NSError * err) completitionBlock ;

3.@property (nonatomic,copy)void (^completition) (id obj, NSError * err);

A Block in Swift?

1.别名
typealias blockName = (parameters) -> returnType

2. 方法
func someMethodABlock(completion:((parameters) -> returnType)!)

3.声明
var block:blockName
var block:((parameters) -> returnType)?
example:

1.typealias completionHandler = (NSDictionary?,NSError?) -> Void

2. func authorizeHealthKit(completion:((success:Bool, error:NSError!) -> Void)!)

3. var block:completionHandler

4.  var block:((dic:NSDictionary ,error:NSError) -> Void)?

相关文章

  • 如果使用Block在Objective-C和Swift中

    A Block in Objective-C? A Block in Swift?

  • Swift-闭包

    Swift 闭包 函数 ()->() Swift 中的闭包和 Objective-C 中的 block 类似,闭包...

  • swift 闭包

    闭包是自包含的功能块,可以在代码中传递和使用。Swift中的闭包类似于C和Objective-C中的 Block ...

  • 7 Closures 闭包

    闭包是自包含的功能块,可以在代码中传递和使用。Swift中的闭包类似于C和Objective-C中的block,也...

  • 2018-07-04

    原文译文 名词解释: Block: Objective-C/Swift中对闭包(closure)的实现,广泛使用在...

  • Swift闭包、闭包简写、尾随闭包、逃逸闭包、自动闭包

    闭包介绍 Swift闭包和Objective-C中的Block很类似,是一段自包含的函数代码块,可以在代码中使用和...

  • swift-闭包

    闭包是自包含的代码块,可以在代码中被传递和使用。Swift中的闭包与C和Objective-C中代码块(block...

  • 创建不同语言为开发环境的flutter项目

    默认是Objective-C和Java,在终端中运行: 如果你需要使用Swift,则输入: 如果你需要使用Kotl...

  • Block in Swift

    在用Objective-c编程中我们常用Block作为回调,在改为swift编写后,如何兼容我们的Block呢? ...

  • swift 闭包

    swift闭包包涵的内容很多,这里只记录我使用的部分,代替objective-C中的block使用。 方法定义:这...

网友评论

    本文标题:如果使用Block在Objective-C和Swift中

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