Tôi có một chút vấn đề với luật của tôi sau khi cập nhật lên Swift 3. Tôi có Bộ luật này trước khi chuyển đổi:Swift: Không thể chuyển đổi giá trị của loại 'UnsafeMutablePointer' để loại lập luận dự kiến 'UnsafeMutablePointer'
extension NSData {
func castToCPointer<T>() -> T {
let mem = UnsafeMutablePointer<T>.alloc(sizeof(T.Type))
self.getBytes(mem, length: sizeof(T.Type))
return mem.move()
}
}
Và tôi chuyển đổi nó để Bộ luật này và trong dòng thứ 3 tôi nhận được một lỗi
... không thể chuyển đổi giá trị của loại 'UnsafeMutablePointer' để loại lập luận dự kiến 'UnsafeMutablePointer'
extension Data {
func castToCPointer<T>() -> T{
let mem = UnsafeMutablePointer<T>.allocate(capacity: MemoryLayout<T.Type>.size)
self.copyBytes(to: mem, count: MemoryLayout<T.Type>.size)
//self.copyBytes(to: mem, count: MemoryLayout<T.Type>.size)
return mem.move()
}
}
Có ai biết cách loại bỏ điều này không?
Cảm ơn bạn :) người cuối cùng làm việc hoàn toàn !! –