如何在Swift中附加结构的布尔值

问题描述 投票:0回答:1

所以,我在Swift中进行编码,并制作了一个名为User的结构。它具有四个类别的特征-名称,电子邮件,关注者数量和活动状态。我可以附加创建的结构变量的值而不会出现问题,只要它们是String或Ints,Dicts等即可。这不会让我附加Bool的值。最初,我将其设置为“ true”,但是在初始化之后,我想将其附加为“ false”。我收到错误消息:“类型'Bool'的值没有成员'append'”。我知道我不允许以与User.name.append(“ Tim”)相同的方式附加它,但是我没有得到的实际上是我can附加它的方式。 Google没有帮助,在SO中进行搜索也没有引起任何注意,Apple关于Structs的文档显示,他们在开始时使用Strings和Bools并在附加Strings而不是在Bools的解释中设置了相似的值。我无法想象这是不可能的,因为情况总是根据情况从真到假变化。如果我删除下面的行,则可以正常编译。

为清楚起见,[userTwo.isAcctive.append(false)是我的错误所在的地方。

任何帮助将不胜感激!

struct User {
  let name: String
  let email: String?
  var followers: Int
  var isActive: Bool

  init(name: String, email: String, followers: Int, isActive: Bool){
    self.name = name
    self.email = email
    self.followers = followers
    self.isActive = isActive
  }

  func logStatus(){
    if isActive == true{
    print("\(name) is working hard.")
    } else {
      print("\(name) has left the earth.")
    }
  }
}

var userOne = User(name: "Richard", email:("") , followers: 0, isActive: false)

var userTwo = User(name: "Elon", email:("[email protected]") , followers: 2100, isActive: true)
print(userTwo.isActive)
userTwo.isActive.append(false)

userOne.logStatus()
userTwo.logStatus()
swift struct boolean append
1个回答
0
投票

追加是将新元素添加到数组。我认为您想更改isActive属性。您可以通过以下方式进行此操作:

var userTwo = User(name: "Elon", email:("[email protected]") , followers: 2100, isActive: true)
userTwo.isActive = false
© www.soinside.com 2019 - 2024. All rights reserved.