swift3 UnsafePointer指针如何销毁
深海飞鸟 2017-07-05 05:44:44 let str_QueryServerDID1 = @"abcd"
// String转换为CChar
let char_QueryServerDID1:[CHAR] = str_QueryServerDID1.cString(using: String.Encoding.utf8)!
//CChar转换为字符串指针
let UnsafeMPtrDID1 = UnsafeMutablePointer<CHAR>.allocate(capacity: char_QueryServerDID1.count)
UnsafeMPtrDID1.initialize(from: (char_QueryServerDID1), count: char_QueryServerDID1.count)
let UnsafePtrDID1 = UnsafePointer<CHAR>.init(UnsafeMPtrDID1)
因为我需要生成UnsafeMutablePointer<UnsafePointer<CHAR>?>类型的参数已使用C的API,所以制造了UnsafePointer<CHAR>的指针,但是最后发现UnsafePointer<CHAR>不知道如何释放指针!现在因为这个造成内存泄漏App挂了,log如下:
malloc: *** error for object 0x6000002065d0: Invalid pointer dequeued from free list
*** set a breakpoint in malloc_error_break to debug
所以,请教下各位大大有什么办法可以释放UnsafePointer指针吗?