0
我正在尋找一種方式使用NSCountedSet
更類似於Swift
的方式(無論這意味着什麼)。NSCountedSet枚舉Swift
請考慮以下代碼段,我基本上直接從Objective C
進行了翻譯。我遍歷集合中的每個符號(一個String
),獲取其相應的計數,並在字典中查找該符號的值。然後,我將該值與計數相乘並將其添加到總計中。
var total = 0
for symbol in symbolSet {
let count = symbolSet.count(for: symbol)
let item = symbolDictionary[symbol as! String]
let value = item?.value
total+= (count * value!)
}
它的工作原理,但我有點擔心的是解開建議Xcode
我。所以我正在嘗試像這樣做更多Swift
,以便在沒有所有解包的情況下更安全。
我開始是這樣的:
symbolSet.enumerated().map { item, count in
print(item)
print(count)
}
但這裏算不是實際數量,但它是一個枚舉索引。
我該如何向前邁進呢?
這看起來非常有前途,我就可以測試這個今天晚些時候。 – Koen
@Koen樂意幫忙。考慮在下次發佈一個問題時(例如,我的Item定義和我的symbolDictionary和SymbolSet實例化,我會提供一個[minimal,complete and verifiable example](http://stackoverflow.com/help/mcve)因爲這樣可以讓未來的回答者更容易幫助你,這反過來會增加變化,你會得到satiesfactory答案:) – dfri
你的例子是非常接近我的情況。只有'value'實際上是一個由兩個'Double'屬性構成的結構,因此經過一些頭疼的事情後,我在'.reduce'行的開始和結尾用'零結構'代替了'Double's到'0'。所有的作品! – Koen