Sto rilevando una perdita di memoria quando si utilizza l'interpolazione a stringa con Swift. Usando lo strumento "Perdite", mostra l'oggetto trapelato come "Malloc 32 byte", ma nessuna libreria o frame responsabile. Questo sembra essere causato dall'uso di optionals nell'interpolazione delle stringhe.Perdita di memoria quando si utilizzano le opzioni nell'interpolazione di stringa
Tuttavia, se sostituisco l'interpolazione della stringa con la semplice creazione di una stringa aggiungendo pezzi, nessuna perdita di memoria.
// does not leak
var message = "Server created with host: "
if self.boundHost
{
message += self.boundHost!
}
else
{
message += "*"
}
message += " and port: \(self.port)"
println(message)
C'è qualcosa che sto facendo male sopra, o solo un bug Swift?
Mi sono verificato anche questo problema, perde 32 byte in libswiftcore quando ho chiamato println in un callback delegato. la mia soluzione ha appena aggiunto "!" – PatrickSCLin
Ecco una segnalazione di bug per un problema simile su [bugs.swift.org] (https://bugs.swift.org/browse/SR-1728) se vuoi controllarne lo stato. – user2067021
Indovina questo è quello che avrei dovuto aspettarmi quando usavo un linguaggio di fantasia nuovo di zecca – Sirens