问题描述
大家好,我是 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);