我有这个Swift块:
var onLoggedIn: ((sender:AnyObject?, showFTUE:Bool) -> ())?
尝试在Obj-C中使用它,而XCode 7自动填充为:
[loginController setOnLoggedIn:^(id _Nullable, BOOL) {
<#code#>
}];
然后抛出错误告诉我parameter name is omitted
。我尝试在不同位置插入参数showFTUE
而没有运气。
在我的Swift翻译文件中,它被翻译为:
答案 0 :(得分:1)
从Xcode 7开始,当您在.h(在obj-c中)声明的完成块没有名称(这是Xcode 7中的默认自动完成行为)时,它也将自动完成而不带参数名称。如您所见,您的块只有类型和_Nullable指令,只需在末尾添加参数名称。
[loginController setOnLoggedIn:^(id _Nullable parameterName1, BOOL parameterName1) {
<#code#>
}];