Swift 字典中Int的随机值,而不是零

Swift 字典中Int的随机值,而不是零,swift,struct,int,Swift,Struct,Int,我有一个Avatarstruct。此结构具有称为元素的属性,这些元素包含面部的多个部分,如眼睛,嘴等等。在init(withGender:AvatarGender)方法中。我希望所有这些元素的默认值都为零 但是我没有得到零,而是得到了巨大的随机整数。我不明白为什么 struct Avatar { var gender: AvatarGender var skin: AvatarSkinColor var elements: [AvatarElement: Int]

我有一个
Avatar
struct。此结构具有称为元素的属性,这些元素包含面部的多个部分,如
眼睛
等等。在
init(withGender:AvatarGender)
方法中。我希望所有这些元素的默认值都为零

但是我没有得到零,而是得到了巨大的随机整数。我不明白为什么

struct Avatar {
    var gender: AvatarGender
    var skin: AvatarSkinColor
    var elements: [AvatarElement: Int]

    var rawString: String {
      // a computed property
    }

    init(withGender: AvatarGender) {
        gender = withGender
        skin = .White
        elements = [AvatarElement: Int]()

        var allElementsType = [AvatarElement]()
        if gender == .Man {
            allElementsType = AvatarElement.allMaleValues
        } else if gender == .Woman {
            allElementsType = AvatarElement.allFemaleValues
        }
        for element in allElementsType {
            elements[element] = 0 // <= This doesn't work !!!
        }
    }

    init(fromRawString: String) {
        // Another init method that works properly
    }
}
struct化身{
性别:阿凡达
var皮肤:AvatarSkinColor
变量元素:[关联:Int]
var-rawString:String{
//计算属性
}
初始化(带性别:AvatarGender){
性别=有性别
皮肤=白色
元素=[AvataRelation:Int]()
var等位基因类型=[AvataRelation]()
如果性别=男性{
等位基因类型=AvataRelation.allMaleValues
}否则,如果性别==。女性{
等位基因类型=AvataRelation.allFemaleValues
}
对于等位基因类型中的元素{

elements[element]=0//代码似乎是正确的。您是如何测试它的?您能否提供一个显示“巨大随机整数”的屏幕截图?是什么让您认为它不起作用。您是否碰巧在调试器中看到了这一点?代码似乎是正确的。您是如何测试它的?您能否提供一个显示“巨大随机整数”的屏幕截图?是什么让您认为它不起作用。您是否碰巧在调试器中查看了它?