gpt4 book ai didi

swift - 在 Swift 中设置导入的 C 结构的 `init` 属性

转载 作者:行者123 更新时间:2023-11-28 13:44:21 24 4
gpt4 key购买 nike

我已经将一个 C 结构导入到我的 Swift 项目中,但是我无法在导入的结构上获取或设置 init 属性,出现以下错误:

error: 'init' is a member of the type; use 'type(of: ...)' to initialize a new object of the same dynamic type

原始的 C 结构是这样的:

struct test_t {
int init;
};

我失败的 Swift 代码如下所示:

var t = test_t()
let i = t.init // error thrown here
t.init = 10 // error thrown here

我能理解名称是个问题,那么有没有其他方法可以在 Swift 中设置结构的属性,可能涉及一些元编程或动态调度?

最佳答案

您可以通过在名称周围使用反引号来声明变量名称以使用保留关键字,例如

struct Test {
var `init`:Int
}

当您访问/调用该属性/方法时,您可以对名称为保留关键字的导入属性/方法的调用执行相同的操作。

var t = test_t()
let i = t.`init`
t.`init` = 10

关于swift - 在 Swift 中设置导入的 C 结构的 `init` 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55608316/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com