Sto usando la funzione Bridging Header del compilatore Swift per chiamare una funzione C che alloca la memoria usando malloc()
. Quindi restituisce un puntatore a quella memoria. Il prototipo di funzione è qualcosa di simile:Gratuito C-malloc() 'd memoria in Swift?
char *the_function(const char *);
In Swift, lo uso come questo:
var ret = the_function(("something" as NSString).UTF8String)
let val = String.fromCString(ret)!
Perdonate la mia ignoranza in materia Swift, ma normalmente in C, se the_function() viene malloc'ing memoria e restituendolo, qualcun altro deve liberarlo() a un certo punto.
Questo è gestito da Swift in qualche modo o sto perdendo memoria in questo esempio?
Grazie in anticipo.
Ha senso, grazie! – Christopher