gpt4 book ai didi

swift - 在 Swift 中调用自定义闭包

转载 作者:行者123 更新时间:2023-11-30 10:10:17 25 4
gpt4 key购买 nike

objective-c中,我可以定义自己的 block 类型:

typedef void (^myBlock)(id param1, id param2, BOOL param3);

然后在其他地方(例如另一个类)定义 block 体以使用传递的值执行某些操作,例如:

myBlock block = ^(id param1, id param2, BOOL param3) { 
if (param3){
NSLog("parameters:%@,%@",param1,param2)
}};

为了在 Swift 中做同样的事情,我使用 typealias 定义了我的 block :

typealias myBlock = (param1:AnyObject, param2:AnyObject, param3:Bool) -> ()

但我不能简单地这样调用它:

let block: myBlock = {param1,param2,param3 in 
if (param3){
print(param1,param2)
}}

并且有一个警告:

Initialization of immutable value 'block' was never used; consider replacing with assignment to '_' or removing it.

如何在 Swift 中调用 myBlock 并定义它的主体?

提前致谢!

最佳答案

我认为出现警告是因为您没有在代码中的任何地方使用“block”变量。

声明“ block ”变量后,尝试在代码中的某个位置使用它。

关于swift - 在 Swift 中调用自定义闭包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33340331/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com