首页 > 解决方案 > 使用 Swift 跟踪字符串中的特定数据

问题描述

总的来说,我对编码还是很陌生,而且我遇到了一个 Swift 练习的问题。

如何跟踪字符串“12221231221”中出现的次数 1 (var numberOfSteps) 和次数 2 (var numberOfHeartBeats)?

我得到了以下提示,但不确定 for-in 循环如何应用:

let activityData = "12221231221"
var numberOfSteps = 0
var numberOfHeartBeats = 0

for character in activityData{
 print(character)
}

标签: iosswift

解决方案


在循环中,您可以检查当前字符是什么,然后相应地递增变量:

let activityData = "12221231221"
var numberOfSteps = 0
var numberOfHeartBeats = 0

for character in activityData{
    if character == "1" {
        numberOfSteps += 1
    } else if character == "2" {
        numberOfHeartBeats += 1
    }
}

这是另一种更实用的方法:

let dict = Dictionary(grouping: activityData, by: { $0 }).mapValues { $0.count }

dict["1"]numberOfStepsdict["2"]numberOfHeartBeats


推荐阅读