Swift - Obj C 与闭包/块的互操作性

用户3099837

我正在尝试将一个 swift 类导入到我的 Obj C 项目中。一切正常,但我试图将这个 Swift Closure 语句转换为 OBJ C。我相信它会是 obj c 中的一个块,但我似乎无法得到它,任何帮助将不胜感激!

迅捷宣言: public var otpEnteredString :((String)->())?

Swift 在视图控制器中的使用:

    ObjectName.otpEnteredString = { pin in
    NSLog("The entered pin is %@",pin);
}

在 Obj C 中,我正在尝试做

    [ObjectName otpEnteredString:^(NSString *pin){
    NSLog(@"The entered pin is %@",pin);
}];

但我得到标准“没有可见的界面声明选择器.. 任何帮助将不胜感激!

我可以在 xcode 中看到声明,但我不完全确定如何将其转换为 obj c

在此处输入图片说明

罗伯梅奥夫

试试这个:

ObjectName.otpEnteredString = ^(NSString *pin){
    NSLog(@"The entered pin is %@",pin);
};

或这个:

[ObjectName setOtpEnteredString:^(NSString *pin){
    NSLog(@"The entered pin is %@",pin);
}];

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章