Der*_*328 8 swift unsafemutablepointer swift4
Objective-c 有一个指向指针的指针的概念。如果取消引用第一个指针,则可以访问原始指针
void makeFive(int *n) {
*n = 5;
}
int n = 0;
makeFive(&n);
// n is now 5
Run Code Online (Sandbox Code Playgroud)
当它被桥接到 Swift 3 时,它变成了一个 UnsafeMutablePointer
func makeFive(_ n: UnsafeMutablePointer<Int>) {
n.memory = 5
}
var n: Int = 0
makeFive(&n)
// n is now 5
Run Code Online (Sandbox Code Playgroud)
但是,从 Swift 4 开始,这种行为发生了变化,并且 memory 属性不再可用。
与 makeFive(_:) 函数等效的 swift 4 是什么?
更新 感谢 Hamish,我现在知道“记忆”已重命名为指针。
请检查:https : //developer.apple.com/documentation/swift/unsafemutablepointer
func makeFive(_ n: UnsafeMutablePointer<Int>) {
n.initialize(to: 5)
}
var n: Int = 0
makeFive(&n)
// n is now 5
Run Code Online (Sandbox Code Playgroud)