[英]Swift closure syntax using Shark Food Mute Switch?
我在使用快速关闭语法时遇到麻烦。 我正在尝试使用Sharkfood检查静音开关,您可以在此处查看: http ://sharkfood.com/content/Developers/content/Sound%20Switch/
我正在尝试调用的块如下所示。
typedef void(^SharkfoodMuteSwitchDetectorBlock)(BOOL silent);
这就是我试图称之为的方式,但是它没有用。 我已经尝试了很多不同的方法,而且我知道自从我快速接触以来就缺少了一些东西。 我得到的错误是:
'(Bool)-> Void'不能转换为'Bool'
在此代码的第一行:
muteDetector.silentNotify({
(silent: Bool) -> Void in
println("this")
println("worked")
})
任何帮助将不胜感激。
从未使用过该库,但是在查看问题中链接的文档时,我注意到silentNotify
是一个属性:
@property (nonatomic,copy) SharkfoodMuteSwitchDetectorBlock silentNotify;
包含该代码块,因此表明需要BOOL的错误是有道理的。
而是使用您的代码,您可能正在尝试调用此方法:
-(void)setSilentNotify:(SharkfoodMuteSwitchDetectorBlock)silentNotify{
_silentNotify = [silentNotify copy];
self.forceEmit = YES;
}
我不知道您要尝试使用哪两个方法-如果您要调用该块,则只需要提供一个布尔值即可:
muteDetector.silentNotify(true)
相反,如果您想注册一个新块(关闭),则必须使用:
muteDetector.setSilentNotify({
(silent: Bool) -> Void in
println("this")
println("worked")
})
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.