gpt4 book ai didi

arrays - 变量 'offerCardsShuffled' 推断为类型 '()' ,这可能是意外的

转载 作者:行者123 更新时间:2023-11-30 11:51:22 26 4
gpt4 key购买 nike

与这个问题相关,但有一个不同的错误:Other Question

我已经尝试过这个问题中的 Swift 3 和 Swift 4 代码:

Shuffle Link

我使用的是 Swift 3.2,当使用 Swift 3 代码时,它对我大喊大叫,因为我没有使用 SwapAt,所以我包含了 Swift 4 代码,但我尝试了两者,得到了相同的结果。

当使用 shuffle() 方法时,我收到错误 Variable 'offerCardsShuffled' inferred to have type '()', which might be irreversible,随后出现明显的错误,Value元组类型“()”没有成员“枚举”

我不确定是什么导致了这个问题,因为使用此代码的其他人似乎没有遇到这个问题。为什么我的打乱数组会变成空元组?

注意,我对 Swift 开发还很陌生,因此全面的解释绝对有帮助。

    func displayOfferCards() -> Void {
//let offerCardsr = allOfferCards().reversed()
var offerCards = allOfferCards()
var offerCardsShuffled = offerCards.shuffle()

for (index, offerCard) in offerCardsShuffled.enumerated() {
let delay = Double(index) * 0.2
offerCard.display(delay: delay)
}
}
}

func allOfferCards() -> [OfferCard]{

guard dataSource != nil else {
return []
}

let numberOfCards = self.dataSource!.kolodaNumberOfCards(self)

var offerCards = [OfferCard]()

for i in 0..<numberOfCards {
let offerCard = viewForCard(at: i)

if let offerCard = offerCard {
offerCards.append(offerCard as! OfferCard)
}

}

return offerCards
}

extension MutableCollection {
/// Shuffles the contents of this collection.
mutating func shuffle() {
let c = count
guard c > 1 else { return }

for (firstUnshuffled, unshuffledCount) in zip(indices, stride(from: c, to: 1, by: -1)) {
let d: IndexDistance = numericCast(arc4random_uniform(numericCast(unshuffledCount)))
let i = index(firstUnshuffled, offsetBy: d)
swapAt(firstUnshuffled, i)
}
}
}

extension Sequence {
/// Returns an array with the contents of this sequence, shuffled.
func shuffled() -> [Element] {
var result = Array(self)
result.shuffle()
return result
}
}

最佳答案

您的 shuffle 方法会修改原始集合,但不会返回新集合。

更改:

var offerCardsShuffled = offerCards.shuffle()

至:

offerCards.shuffle()

并在剩余代码中将 offerCardsShuffled 的使用替换为 offerCards

关于arrays - 变量 'offerCardsShuffled' 推断为类型 '()' ,这可能是意外的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48290807/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com