无法以函数作为参数执行选择器
Cannot perform selector with function as param
我有一个小任务要交给你们。
我想要执行包含函数作为参数的选择器。但总是出现运行时错误。
此方法来自iAd框架。这就是我想要做的:
let sel = Selector("requestAttributionDetailsWithBlock:")
if obj.responds(to: sel) {
obj.perform(sel, with: funcAsVar)
}
其中 funcAsVar
是作为变量的函数。
伙计们,请帮忙
运行时错误是:libswiftCore.dylib-[_SwiftValue dealloc]:
您可以在传递给 perform
方法的参数上添加 @convention(block)
。像这样:
let sel = Selector("requestAttributionDetailsWithBlock:")
if obj.responds(to: sel) {
obj.perform(sel, with: @convention(block) funcAsVar)
}
我有一个小任务要交给你们。 我想要执行包含函数作为参数的选择器。但总是出现运行时错误。
此方法来自iAd框架。这就是我想要做的:
let sel = Selector("requestAttributionDetailsWithBlock:")
if obj.responds(to: sel) {
obj.perform(sel, with: funcAsVar)
}
其中 funcAsVar
是作为变量的函数。
伙计们,请帮忙
运行时错误是:libswiftCore.dylib-[_SwiftValue dealloc]:
您可以在传递给 perform
方法的参数上添加 @convention(block)
。像这样:
let sel = Selector("requestAttributionDetailsWithBlock:")
if obj.responds(to: sel) {
obj.perform(sel, with: @convention(block) funcAsVar)
}