我正在使用 Swift 工作,我正在使用的协议(protocol)之一需要返回 UnsafeMutablePointer<T>
特定对象的。
我有这样的东西:
@objc var myProperty:UnsafeMutablePointer<someObject>
{
get
{
// I call a class function here to get a 'someObject'
// return object which I need to pass back a pointer to it.
return UnsafeMutablePointer<someObject>
}
}
问题是 Xcode 不喜欢这样。它提示 '>' is not a unary operator
。
我还尝试删除 UnsafeMutablePointer<>
并使用&
前面someObject
但它提示 &
将立即在函数的参数列表中使用。
我想我只是找不到正确的语法?任何帮助,将不胜感激。
最佳答案
如果 someObject
的类型为 SomeClass
,那么您需要像这样更新您的声明:
@objc var myProperty:UnsafeMutablePointer<SomeClass>
{
get
{
return UnsafeMutablePointer<SomeClass>(unsafeAddressOf(someObject))
}
}
泛型参数必须是返回数据的类型,并且您还需要使用所需对象的内存地址初始化一个专门的UnsafeMutablePointer
。
关于ios - 对象属性的 Getter 需要返回 UnsafeMutablePointer<T>?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34936758/