Sto utilizzando la versione DEVELOPMENT-SNAPSHOT-2016-06-06-a
di Swift. Non riesco per aggirare questo problema, ho provato ad utilizzare @noescape
in vari luoghi, ma ho ancora il seguente errore:Modifica delle variabili di istanza della struct all'interno di una chiusura di Invio in Swift
Closure cannot implicitly capture a mutating self parameter
per spiegare meglio, ecco un semplice esempio:
public struct ExampleStruct {
let connectQueue = dispatch_queue_create("connectQueue", nil)
var test = 10
mutating func example() {
if let connectQueue = self.connectQueue {
dispatch_sync(connectQueue) {
self.test = 20 // error happens here
}
}
}
}
Qualcosa deve essere cambiato in questi binari Swift che sta causando la rottura del mio codice precedentemente funzionante. Una soluzione che voglio evitare è rendere la mia struct una classe, che aiuta a risolvere il problema. Fammi sapere se c'è un altro modo.
In Mac OS (la versione Xcode?) O su Linux? –
@ MartinR Sto usando Xcode 7.3.1 su Mac – tfrank377