我目前是我的Swift应用程序上载任务的owncloud iOS library。
它是用Objective-C编写的,要求我将AutoreleasingUnsafeMutablePointer<NSProgress?>
传递给upload method。
说我像这样创建一个新对象
let progress: NSProgress? = NSProgress()
如何在Swift中获取此对象的
AutoreleasingUnsafeMutablePointer<NSProgress?>
?我尝试了以下方法:
var progress: NSProgress? = NSProgress()
let unsafeAutoreleasingProgressPointer = AutoreleasingUnsafeMutablePointer<NSProgress?>.init(&progress)
但是我得到了
EXC_BAD_ACCESS(代码= 1,地址= 0x15942320)
在执行代码时。我想保留对进度对象的引用,因为我想添加一个观察者回调,该回调以百分比形式告诉我上传进度(也在示例链接中进行了演示)。
最佳答案
AutoreleasingUnsafeMutablePointer
只是一个结构。您要做的就是创建指针,然后将值分配给它的memory
属性。
var pointer = AutoreleasingUnsafeMutablePointer<NSProgress>.init()
pointer.memory = progress!