gpt4 book ai didi

ios - 使用 Shark Food 静音开关的 Swift 闭包语法?

转载 作者:行者123 更新时间:2023-11-29 02:29:18 25 4
gpt4 key购买 nike

我在使用 swift 闭包语法时遇到了问题。我正在尝试使用 Sharkfood 检查静音开关,您可以在此处看到:http://sharkfood.com/content/Developers/content/Sound%20Switch/

我尝试调用的 Block 如下所示。

typedef void(^SharkfoodMuteSwitchDetectorBlock)(BOOL silent);

这就是我尝试调用它的方式,但它不起作用。我已经尝试了很多不同的方法,而且我知道我错过了一些东西,因为我是 swift 的新手。我得到的错误是:

'(Bool) -> Void' is not convertible to 'Bool'

在这段代码的第一行:

muteDetector.silentNotify({
(silent: Bool) -> Void in
println("this")
println("worked")
})

如有任何帮助,我们将不胜感激。

最佳答案

从未使用过该库,但查看您问题中链接的文档我注意到 silentNotify 是一个属性:

@property (nonatomic,copy) SharkfoodMuteSwitchDetectorBlock silentNotify;

包含该 block ,因此指出需要 BOOL 的错误是有道理的。

您可能正在尝试调用此方法,而不是使用您的代码:

-(void)setSilentNotify:(SharkfoodMuteSwitchDetectorBlock)silentNotify{
_silentNotify = [silentNotify copy];
self.forceEmit = YES;
}

我不知道你正在尝试做这两个中的哪一个 - 如果你想调用这个 block ,那么你只需要提供一个 bool 值:

muteDetector.silentNotify(true)

如果你想注册一个新 block (闭包),那么你必须使用:

muteDetector.setSilentNotify({
(silent: Bool) -> Void in
println("this")
println("worked")
})

关于ios - 使用 Shark Food 静音开关的 Swift 闭包语法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27112374/

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