我如何从 swift 中的 class 初始化元组 属性?

How do i init a tuple property from a class in swift?

我的 class

中有这个 属性
var service = (String, Int, Bool)

并且我需要使用带有 init 的构造函数,所以我有下一个代码

init()
{
  self.service(1) = "Fix PC"
  self.service(2) = 400
  self.service(3) = false
}

在初始化代码的每一行我都收到了下一条消息

type of expression is ambiguous without more context

,我该如何解决?

我是学生,最近在用swift,还是找不到解决方法

这不是为元组赋值的方式。您需要将元组作为一个整体进行赋值,不能将其属性逐一赋值。

var service: (String, Int, Bool)

init() {
    service = ("Fix PC", 400, false)
}

初始化元组后,您可以一对一地更新其成员,但是您的语法错误,元组成员访问是使用 . 而不是 ().

service.0 = "Fix Mac"

此外,您应该只将元组用作临时存储,例如,您应该使用具有 3 个独立属性的自定义类型。

struct Service {
    let name: String
    let value: Int
    let bool: Bool
}

let service = Service(name: "Fix PC", value: 400, bool: false)