簡體   English   中英

快速返回布爾方法

[英]Swift return bool in method

我做了這個方法:

func checkScore(player: Int) -> Bool {

        var checkedFields: [Int] = []
        var won: Bool = false

        for var i = 0; i <= 9; i += 1 {

            if(winningCombinations[i] == player) {
                checkedFields.append(i)
            }

        }

        for value in winningCombinations {

            var hits = 0

            for n in checkedFields {

                if value.contains(n){
                    hits += 1
                }

            }

            if hits == 3 {
                won = true
            }

        }

        return won
    }

但是,當我嘗試構建它時,一切都變成白色,並且構建崩潰。 我在這里做錯什么了嗎? 我通過這樣的值:

 if self.checkScore(player) {
                print("Won!")
    }

(我沒有看到錯誤消息!)

您的func checkScore(player: Int)接受類型為Int player。

在您的代碼中,您還說了: if(winningCombinations[i] == player) ,這意味着您希望winningCombinations數組中的元素也屬於Int類型。

但是然后你說

for value in winningCombinations {
var hits = 0

            for n in checkedFields {

                if value.contains(n){

如果value是winningCombination中的一個元素,則意味着value是一個int ..你怎么能說value.contains(n)。 Int無法執行包含操作。 數組可以。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM