Objective-C 中的闭包Swift到闭包块?

问题描述

大家好,我是 Objective-C 的新手,我有一些代码想将它从 Swift -> Objective-C 转换。我有一个变量,它是一个闭包,但不确定在 Objective-C 中如何做 这是变量:

var didTimerFire: ((UICollectionViewCell) -> Void)?

Objective-C 中还有“自我”吗?抱歉我是个菜鸟,但又是 Objective-C 的新手 :)

解决方法

在 Objective-C 中有 Blocks:

如果您想将它们用作属性,则如下所示:

@property (nonatomic,copy,nullability) returnType (^blockName)(parameterTypes);

或者作为方法参数:

- (void)method:(returnType (^nullability)(parameterTypes))blockName;

所以对于你来说,它会像这样:

@property (nonatomic,nullable) void (^didTimerFire)(UICollectionViewCell);