Swift:将数据传递给捕获上下文的闭包 [英] Swift: Pass data to a closure that captures context
本文介绍了Swift:将数据传递给捕获上下文的闭包的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我尝试在互联网连接恢复并且 updateOnConnection
变量为true时调用函数。这是我的代码:
func checkForConnection(){
let host =reddit.com
var context = SCNetworkReachabilityContext(version:0,info:nil,retain:nil,release:nil,copyDescription:nil)
let reachability = SCNetworkReachabilityCreateWithName(nil,host)!
如果flags.rawValue == 0,则
中的SCNetworkReachabilitySetCallback(可达性,{(_,flags,_))// {//未连接互联网
} else { // internet connected connected
if self.updateOnConnection {
self.refreshWallpaper()
}
}
},& context)
SCNetworkReachabilityScheduleWithRoLoop(reachability,CFRunLoopGetMain(),kCFRunLoopCommonModes)
}
我的问题是行:
if self.updateOnConnection {
self.refreshWallpaper()
}
导致错误: AC函数指针不能从捕获上下文的闭包形成
我不知道如何检查 updateOnConnection
的状态,并调用 refreshWallpaper()
在闭包中监视互联网连接的变化。如何解决这个问题,或者有一个完全不同的解决方法,我应该使用?
解决方案