Voglio rendere un argomento selector
del mio metodo riferimento a una proprietà di chiusura, entrambi esistono nello stesso ambito. Ad esempio,Posso fare #selector riferirsi a una chiusura in Swift?
func backgroundChange() {
self.view.backgroundColor = UIColor.blackColor()
self.view.alpha = 0.55
let backToOriginalBackground = {
self.view.backgroundColor = UIColor.whiteColor()
self.view.alpha = 1.0
}
NSTimer.scheduledTimerWithTimeInterval(0.5, target: self, selector: #selector(backToOriginalBackground), userInfo: nil, repeats: false)
}
Tuttavia, questa mostra un errore: Argument of #selector cannot refer to a property
.
Ovviamente posso definire un nuovo metodo separato e spostare l'implementazione della chiusura su di esso, ma voglio mantenerlo frugale per un'implementazione così piccola.
È possibile impostare un argomento di chiusura su #selector
?
Sì! Questo è tutto. E stavamo riflettendo sulla sintassi piuttosto che sul problema che l'OP stava affrontando ed è la soluzione migliore. –
Si prega di vedere il mio post qui sotto. È possibile con qualche magia objc-runtime :) –