不可变的值作为inout参数

Tul*_*leb 8 pointers swift inout

我想有一个指针作为类的参数.但是当我尝试编写init时,我遇到了这个错误:Cannot pass immutable value of type 'AnyObject?' as inout argument

class MyClass {
    var valuePointer: UnsafeMutablePointer<AnyObject?>

    init(value: inout AnyObject?) {
        self.valuePointer = &value
    }
}
Run Code Online (Sandbox Code Playgroud)

我想创建一些MyClass的实例,它们都可以引用相同的"值".然后,当我在这个类中编辑这个值时,它会在其他地方改变.

这是我第一次使用Swift中的指针.我想我做错了......

Tul*_*leb 17

对于那些有cannot pass immutable value as inout argument错误的人.首先检查您的参数是否为可选参数.Inout类型似乎不喜欢可选值.