我在Swift中工作,正在使用的协议之一需要返回特定对象的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/