web-dev-qa-db-ja.com

Swift 4でUnsafeMutablePointerを使用する方法

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の時点で、この動作は変更され、メモリプロパティは使用できなくなりました。

MakeFive(_ :)関数に相当するSwift 4)は何でしょうか?

更新Hamishのおかげで、「memory」の名前がpointeeに変更されたことがわかりました。

6
DerrickHo328

チェックしてください: 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
5
Vini App