如何在Swift中初始化包含枚举数组的结构数组?

时间:2015-12-14 10:18:04

标签: arrays swift struct enums initialization

我尝试将Pascal程序转换为包含嵌套数据结构的Swift程序。我无法初始化数组,请给出如何编写此示例的建议。

enum  KW: Int {case XXXX=0,YYYY,ZZZZ}
let numCards = 49
typealias Card = [KW]

struct KSet {
    var k1: Card
    var k2: Card
}

var cards: [KSet] = []

func rotate(k:Card) -> Card {
    return([k[2],k[0],k[3],k[1]])
}

func initOne(k: Card) {

     cards.append(k1:k,k2:rotate(k))   // <– does not compile
}

initOne([.XXXX, .YYYY, .ZZZZ, .XXXX])

2 个答案:

答案 0 :(得分:3)

修改

cards.append(k1:k,k2:rotate(k))

阅读

cards.append(KSet(k1:k,k2:rotate(k)))

答案 1 :(得分:0)

您应该这样插入标签k

cards.append(KSet(k1:k,k2:rotate(k: k)))

initOne(k: [.XXXX, .YYYY, .ZZZZ, .XXXX])

或者,如果您想忽略它,

func rotate(_ k:Card) -> Card

func initOne(_ k: Card)