14

クラスのパラメーターとしてポインターを持ちたいと思います。しかし、init をコーディングしようとすると、次のエラーが発生します。Cannot pass immutable value of type 'AnyObject?' as inout argument

class MyClass {
    var valuePointer: UnsafeMutablePointer<AnyObject?>

    init(value: inout AnyObject?) {
        self.valuePointer = &value
    }
}

すべて同じ「値」を参照できる MyClass のインスタンスを作成したいと思います。次に、このクラスでこの値を編集すると、他の場所で変更されます。

Swift でポインターを使用するのはこれが初めてです。私はそれを間違っていると思います...

4

5 に答える 5

19

cannot pass immutable value as inout argumentエラーが発生した方へ。最初に、引数がオプションではないことを確認してください。Inout 型はオプションの値が気に入らないようです。

于 2016-08-01T09:35:23.007 に答える