Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2012/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Swift 卡在甲板上_Swift - Fatal编程技术网

Swift 卡在甲板上

Swift 卡在甲板上,swift,Swift,我正在开发一个扑克应用程序。我有两个问题 1) 刚开始在DeckOfCards课程上学习如何处理甲板。我在一个for循环中不断得到一个错误(“预期声明”)。它在操场上起作用,但在项目中不起作用(尽管不是作为一个班级)。我该如何解决这个问题 2) 可以用这种方式表示卡片(数组中有两个字符串)吗 进口基金会 class DeckOfCards { var newDeck = ["A♠️", "2♠️", "3♠️", "4♠️", "5♠️",...."K♠️",

我正在开发一个扑克应用程序。我有两个问题

1) 刚开始在DeckOfCards课程上学习如何处理甲板。我在一个for循环中不断得到一个错误(“预期声明”)。它在操场上起作用,但在项目中不起作用(尽管不是作为一个班级)。我该如何解决这个问题

2) 可以用这种方式表示卡片(数组中有两个字符串)吗

进口基金会

class DeckOfCards {

    var newDeck =  ["A♠️", "2♠️", "3♠️", "4♠️", "5♠️",...."K♠️",
                    "A♥️", "2♥️", "3♥️", "4♥️", "5♥️",...."K♥️",
                    "A♣️", "2♣️", "3♣️", "4♣️", "5♣️",...."K♣️",
                    "A♦️", "2♦️", "3♦️", "4♦️", "5♦️",...."K♦️"]

    var deck = [String]()
    var randomNumber = 0

    init() {
        deck = []
    }


    for _ in 1...52 {    // ERROR ON THIS LINE ("Expected Declaration")
        randomNumber = Int(arc4random_uniform(UInt32(newDeck.count)))
        deck.append(newDeck.removeAtIndex(randomNumber))
    }


}

这是因为在类定义中不能让代码像这样挂起。您需要将其放入
func
中。e、 g

func shuffleDeck() -> [String] {
    var deck = [String]()
    for _ in 1...52 {    
        randomNumber = Int(arc4random_uniform(UInt32(newDeck.count)))
        deck.append(newDeck.removeAtIndex(randomNumber))
    }
    return deck
}

要回答问题的第二部分,最好使用
enum
来表示卡片。这里有一个很好的例子:

根本没有意识到这个错误。我把这门课当作一个大函数来对待!我还有很多东西要学,哈哈。谢谢你!!别担心。犯错误总是学习一门新语言的一部分。干杯