创建不安全的通用指针时出现语法错误(无法推断通用参数'Pointee')

时间:2017-02-13 10:30:16

标签: swift generics

我正在围绕<div class="row"> <div class="col-sm-6 col-md-4 col-lg-3"></div> <div class="col-sm-6 col-md-4 col-lg-3"></div> </div> <div class="row"> <div class="col-sm-6 col-md-4 col-lg-3"></div> <div class="col-sm-6 col-md-4 col-lg-3"></div> </div> 构建包装器,我正在尝试为它创建通用指针

GObject

但我收到此错误

enter image description here

在我看来应该解决类型,但编译器抱怨。我是否正确创建了此指针?这只是编译器错误,还是我做错了?

编辑 我尝试了所有出现在我脑海中的语法,如下所示:

class Object<T> {
    internal(set) var object = UnsafeMutablePointer(nil)
}

似乎没什么用,因为编译器不知何故无法解析类型

enter image description here

1 个答案:

答案 0 :(得分:0)

第二种方法中的类型声明是正确的。错误消息“不明确使用”的出现是因为UnsafeMutablePointer有两个接受nil的初始化候选者:一个接受OpaquePointer?而另一个接受UnsafeMutablePointer<T>?

在您的情况下,您应该只指定nil

init() {
    object = nil
}

您也可以在属性定义中执行此操作,无需在init中执行此操作。