8

Objective-c 有一个指向指针的概念。如果您取消引用第一个指针,您可以访问原始指针

void makeFive(int *n) {
    *n = 5;
}

int n = 0;
makeFive(&n);
// n is now 5

当它被桥接到 Swift 3 时,它变成了一个 UnsafeMutablePointer

func makeFive(_ n: UnsafeMutablePointer<Int>) {
    n.memory = 5
}
var n: Int = 0
makeFive(&n)
// n is now 5

但是,从 Swift 4 开始,这种行为已经改变,并且 memory 属性不再可用。

makeFive(_:) 函数的 swift 4 等效项是什么?

更新感谢 Hamish,我现在知道“内存”已重命名为指针。

4

1 回答 1

6

请检查: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
于 2017-09-20T19:30:27.420 回答