swift - 作为 inout 参数的不可变值

标签 swift pointers inout

我想要一个指针作为类的参数。但是当我尝试对 init 进行编码时,我遇到了这个错误:Cannot pass immutable value of type 'AnyObject?'作为输入参数

class MyClass {
    var valuePointer: UnsafeMutablePointer<AnyObject?>

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

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

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

最佳答案

对于那些有cannot pass immutable value as inout argument错误的人。首先检查你的论点不是可选的。 Inout 类型似乎不喜欢可选值。

关于swift - 作为 inout 参数的不可变值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38615739/

相关文章:

C函数将数组分成 block

postgresql - 如何在 PostgreSQL 中用很少的 INOUT 参数消除对函数的多次调用

swift - 符号 (&) 在 Swift 语言中是什么意思?

c++ - 如何在不使用 objective-c 运行时的情况下在 Swift 中按名称实例化类

objective-c - Swift 文件的 genstrings 问题

ios - 如何获取Tableview中指定行的IndexPath?

swift - 在实例函数中初始化实例变量

ios - 如何知道主题创建是否为 "submitted"到控制台(Firebase 云消息传递)

c - 我无法使用链表打印多项式

c - int x=259中p指向什么; char *p = (char*)&x;?