pointers - Call native method from Swift that has uint8_t ** as output parameter -


i have c method interface

size_t foo(uint8_t ** output) 

this gets imported swift as

func foo(_ output: unsafemutablepointer<unsafemutablepointer<uint8>>) -> int 

how can call method swift?

assuming foo() allocates uint8_t array, puts address memory location pointed output, , returns size of allocated array, can use swift this

var output : unsafemutablepointer<uint8> = nil let size = foo(&output) in 0 ..< size {     println(output[i]) } 

you have decide responsible releasing allocated memory. if foo() functions allocates using malloc() can release swift with

free(output) 

Comments

Popular posts from this blog

c++ - Difference between pre and post decrement in recursive function argument -

php - Nothing but 'run(); ' when browsing to my local project, how do I fix this? -

php - How can I echo out this array? -