Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/108.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 如何解除锁定从Swift结构引用的UnsafemeutablePointer_Ios_Swift_Cocoa Touch_Swift2 - Fatal编程技术网

Ios 如何解除锁定从Swift结构引用的UnsafemeutablePointer

Ios 如何解除锁定从Swift结构引用的UnsafemeutablePointer,ios,swift,cocoa-touch,swift2,Ios,Swift,Cocoa Touch,Swift2,如果我有这样一个Swift结构: struct ViewBox { let pointer: UnsafeMutablePointer<UIView> init() { pointer = UnsafeMutablePointer<UIView>.alloc(1) } } struct ViewBox { class WrappedPointer() { let pointer: UnsafeMut

如果我有这样一个Swift结构:

struct ViewBox {
    let pointer: UnsafeMutablePointer<UIView>
    init() {
        pointer = UnsafeMutablePointer<UIView>.alloc(1)
    }
}
struct ViewBox {
    class WrappedPointer() {    
        let pointer: UnsafeMutablePointer<UIView>

        init() {
            pointer = UnsafeMutablePointer<UIView>.alloc(1)
        }

        deinit {
            pointer.dealloc(1)
        }
    }

    let wrappedPointer = WrappedPointer()
}
struct视图框{
let指针:非女性化指针
init(){
指针=非女性化指针.alloc(1)
}
}
当结构被解除分配时,我应该如何确保指针被正确地解除分配?我不能对Swift结构使用
deinit
dealloc
方法


或者我不必在意,它会自动发生

可以将指针包装在类中。大概是这样的:

struct ViewBox {
    let pointer: UnsafeMutablePointer<UIView>
    init() {
        pointer = UnsafeMutablePointer<UIView>.alloc(1)
    }
}
struct ViewBox {
    class WrappedPointer() {    
        let pointer: UnsafeMutablePointer<UIView>

        init() {
            pointer = UnsafeMutablePointer<UIView>.alloc(1)
        }

        deinit {
            pointer.dealloc(1)
        }
    }

    let wrappedPointer = WrappedPointer()
}
struct视图框{
类WrappedPointer(){
let指针:非女性化指针
init(){
指针=非女性化指针.alloc(1)
}
脱硝{
指针.解除锁定(1)
}
}
设wrappedPointer=wrappedPointer()
}

有趣的想法。所以你认为没有直接的方法可以做到这一点/不,我不这么认为。