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

Arrays 如何在Swift中初始化包含枚举数组的结构数组?,arrays,swift,struct,enums,initialization,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 { retu

我试图将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])
enum KW:Int{case XXXX=0,YYYY,ZZZZ}
设numCards=49
类型别名卡=[KW]
结构KSet{
变量k1:卡
变量k2:卡
}
var卡:[KSet]=[]
func旋转(k:卡)->卡{
返回值([k[2],k[0],k[3],k[1]])
}
func initOne(k:卡){
卡片。追加(k1:k,k2:rotate(k))/修改

阅读

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

您应该像这样插入标签
k

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

initOne(k:[.XXXX.yyy.ZZZZ.XXXX])

或者如果你想省略它

func旋转(k:Card)->Card

func initOne(k:Card)

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