Objective-cには、ポインタへのポインタの概念があります。もしあなたが、これはそれがUnsafeMutablePointerswsでUnsafeMutablePointerを使用する方法4
func makeFive(_ n: UnsafeMutablePointer<Int>) {
n.memory = 5
}
var n: Int = 0
makeFive(&n)
// n is now 5
なりスウィフト3に架設されている場合は、元の
void makeFive(int *n) {
*n = 5;
}
int n = 0;
makeFive(&n);
// n is now 5
しかし、スウィフト4のように、この動作が変更され、メモリましたアクセスできる最初のポインタを逆参照する場合プロパティはもはや利用できません。
makeFive(_ :)関数のswift 4に相当するものは何ですか?
更新 Hamishのおかげで、私は今、 "メモリ"がpointeeに改名されたことを知っています。
を、それは '.pointee'です。ここで 'UnsafeMutablePointer'を使用しないでください。呼び出し元側の変数を変更する必要がある場合は、 'inout'を使用します(これは頻繁ではありません)。 – Hamish
訂正ありがとう、まあまあです!さもなければ、私はそれがスタックのオーバーフローで見つけるでしょう。私は名前の変更を知らなかった。私は主にUnsafeMutablePointerをobjective-cとの互換性のために使用しています。なぜなら、 "inout"は迅速な機能だからです。 – DerrickHo328