【问题标题】:Count number of items in a Struct?计算结构中的项目数?
【发布时间】:2016-01-05 12:43:43
【问题描述】:

我有一个结构,并在许多课程中使用它。我想有一种方法来计算每个类中初始化了多少个结构(比如 array.count),但我在上面找不到任何东西。

struct measuredBMInfo {
  var level: Int
  var message: String

init(level: Int, message: String) {
    self.level = level
    self.message = message
  }
}

我使用的结构如下:

// setup pain
let painInfo0 = measuredPainInfo(level: 0, message: "No Pain")
let painInfo1 = measuredPainInfo(level: 1, message: "Mild pain can be ignored")
let painInfo2 = measuredPainInfo(level: 2, message: "Moderate pain that interferes with tasks")
let painInfo3 = measuredPainInfo(level: 3, message: "Moderate pain interferes with concentration")
let painInfo4 = measuredPainInfo(level: 4, message: "Severe pain interferes with basic tasks")
let painInfo5 = measuredPainInfo(level: 5, message: "Worst possible pain bedrest required")

在这种情况下,我想要测量测量疼痛信息的计数。

【问题讨论】:

  • 你能给我们一些使用例子吗?有点不清楚你想要实现什么。
  • 我想知道我有多少个结构,例如,我可以用正确的行数填充表格。
  • 为什么不使用这些结构的数组?然后您可以访问它的计数。
  • 实际上,您(开发人员)在以这种方式设置实例时确切地知道实例的数量;-)
  • 是的,但我想当我必须添加很多类时,我可以自动完成。很高兴知道。

标签: swift struct count


【解决方案1】:

你可以定义一个数组来存储结构体:

var structArray:[measuredBMInfo] = []

override func viewDidLoad() {
    super.viewDidLoad()

    setPainInfo(0, message: "dfsa")
    setPainInfo(1, message: "dsger")
    setPainInfo(2, message: "kh sdfujo")
    setPainInfo(3, message: "sdfasfd")

    print(getStructCount())
}

func setPainInfo(level:Int, message: String){
    let painInfo = measuredBMInfo(level: level, message: message)
    structArray.append(painInfo)
}

使用以下方法获取结构计数:

func getStructCount()->Int{
    return structArray.count
}

【讨论】:

  • 哇,我喜欢这样。我现在就试试。
猜你喜欢
  • 2013-02-02
  • 2016-11-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-03-01
  • 2017-12-01
相关资源
最近更新 更多