C&C++   发布时间:2022-04-03  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了objective-c – Swift中的块显示错误“调用中缺少参数#2的参数”大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我现在在我的项目中使用Jonas Gessner的 JGActionSheet与Swift,并且示例是由Objective-C编写的,当我尝试将块转换为Swift时,Xcode显示错误“在调用中缺少参数#2的参数”,这里是我写的代码和截图:

Objective-C样本

JGActionSheet *sheet = [JGActionSheet actionSheetWithSections:sections];
[sheet setButtonPressedBlock:^(JGActionSheet *sheet,NSIndexPath *indexPath) 
{
    [sheet dismissAnimated:YES];
}];@H_944_10@ 
 

我用Swift编写的代码

let actionSheet = JGActionSheet(sections: sections)
actionSheet.buttonPressedBlock {
    (sheet: JGActionSheet!,indexPath: NSIndexPath!) in
    actionSheet.dismissAnimated(true)
}@H_944_10@ 
 

错误截图

Missing argument for parameter #2 in call

所以请帮我解决这个问题,非常感谢!

@H_262_23@解决方法
actionSheet.buttonPressedBlock是一个属性.你正试图设置它.那你的等号在哪里?这就是你在Swift中设置的方法

myThing.myProperty = myValue@H_944_10@ 
 

您尝试将此属性设置为块(函数)的事实不会改变任何内容.所以:

let actionSheet = JGActionSheet(sections: sections)
actionSheet.buttonPressedBlock = {
    (sheet: JGActionSheet!,indexPath: NSIndexPath!) in
    actionSheet.dismissAnimated(true)
}@H_944_10@

大佬总结

以上是大佬教程为你收集整理的objective-c – Swift中的块显示错误“调用中缺少参数#2的参数”全部内容,希望文章能够帮你解决objective-c – Swift中的块显示错误“调用中缺少参数#2的参数”所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。