草庐IT

truth_enum

全部标签

enums - 我的枚举在类构造函数中变为 null 是否有原因?

我在User类构造函数中包含一个枚举。类中的该字段在新实例中变为null。我直接设置枚举值。之后我打印类(class)字段。为空。enumGenders{MALE,FEMALE,OTHER}classUserextendsSharedUser{User(StringfirstName,Gendersgender,):super(firstName:firstName);Gendersgender;}finalUseruser=User('Bob',Genders.OTHER);print(user.firstName);//Bobprint(user.gender);//null预期:

enums - 我的枚举在类构造函数中变为 null 是否有原因?

我在User类构造函数中包含一个枚举。类中的该字段在新实例中变为null。我直接设置枚举值。之后我打印类(class)字段。为空。enumGenders{MALE,FEMALE,OTHER}classUserextendsSharedUser{User(StringfirstName,Gendersgender,):super(firstName:firstName);Gendersgender;}finalUseruser=User('Bob',Genders.OTHER);print(user.firstName);//Bobprint(user.gender);//null预期:

swift - "Raw value for enum case is not unique"用于具有 Float 原始值的 Swift 枚举

根据TheSwiftProgrammingLanguage,我应该能够使用“字符串、字符或任何整数或float类型”的原始值创建一个Swift枚举。但是当我尝试时:enumBatteryVoltage:Float{casev3v7=3.7casev5v0=5.0casev7v4=7.4casev11v1=11.1casev12v0=12.0}...我得到一个编译错误:Rawvalueforenumcaseisnotunique在v7v4线上。它编译得很好,那个被注释掉了。但是啊,它看起来很独特。如果我将值设置为7.41、7.3或其他值,它可以正常编译。这是怎么回事?swift错误?

swift - "Raw value for enum case is not unique"用于具有 Float 原始值的 Swift 枚举

根据TheSwiftProgrammingLanguage,我应该能够使用“字符串、字符或任何整数或float类型”的原始值创建一个Swift枚举。但是当我尝试时:enumBatteryVoltage:Float{casev3v7=3.7casev5v0=5.0casev7v4=7.4casev11v1=11.1casev12v0=12.0}...我得到一个编译错误:Rawvalueforenumcaseisnotunique在v7v4线上。它编译得很好,那个被注释掉了。但是啊,它看起来很独特。如果我将值设置为7.41、7.3或其他值,它可以正常编译。这是怎么回事?swift错误?

enums - 如何将 7 的原始值强制转换为 UIViewAnimationCurve 枚举?

keyUIKeyboardAnimationCurveUserInfoKey在UIKeyboardWillShowNotification的userInfo字典中包含Int值为7.现在我需要传递这个Int进入UIView.setAnimationCurve().我尝试像这样创建所需的UIViewAnimationCurve枚举UIViewAnimationCurve(rawValue:7).因为原始值7没有记录,结果总是nil.这种方式在Objective-C中运行良好。知道如何使用Swift将通知中的动画曲线转换为UIView动画吗?更新:正如Martin所指出的,自Xcode6.3

enums - 如何将 7 的原始值强制转换为 UIViewAnimationCurve 枚举?

keyUIKeyboardAnimationCurveUserInfoKey在UIKeyboardWillShowNotification的userInfo字典中包含Int值为7.现在我需要传递这个Int进入UIView.setAnimationCurve().我尝试像这样创建所需的UIViewAnimationCurve枚举UIViewAnimationCurve(rawValue:7).因为原始值7没有记录,结果总是nil.这种方式在Objective-C中运行良好。知道如何使用Swift将通知中的动画曲线转换为UIView动画吗?更新:正如Martin所指出的,自Xcode6.3

enums - 如果一个具有关联值,则对枚举值的测试会失败?

我正在Playground中对此进行测试,但我不确定如何执行此操作。使用没有关联值的普通枚举,一切都很好。enumCompassPoint{caseNorthcaseSouthcaseEastcaseWest}vardirection=CompassPoint.Eastifdirection!=.West{println("GoWest!")}但是,如果我的枚举之一具有关联值,方向测试将失败并出现此错误:找不到成员“West”enumCompassPoint{caseNorth(Int)caseSouthcaseEastcaseWest}vardirection=CompassPoin

enums - 如果一个具有关联值,则对枚举值的测试会失败?

我正在Playground中对此进行测试,但我不确定如何执行此操作。使用没有关联值的普通枚举,一切都很好。enumCompassPoint{caseNorthcaseSouthcaseEastcaseWest}vardirection=CompassPoint.Eastifdirection!=.West{println("GoWest!")}但是,如果我的枚举之一具有关联值,方向测试将失败并出现此错误:找不到成员“West”enumCompassPoint{caseNorth(Int)caseSouthcaseEastcaseWest}vardirection=CompassPoin

enums - Swift 中 Objective-C typedef 枚举的相等性

我在Swift中使用FacebookObjective-CSDK,我正在尝试将FBSessionState值与枚举中的值进行比较。但是我得到编译器错误:Couldnotfindanoverloadfor'=='thatacceptsthesuppliedarguments我主要是想完成:ifstate==FBSessionStateOpen{...}我可以通过与值进行比较来解决这个问题...ifstate.value==FBSessionStateOpen.value{...}但我想知道是否有办法让这项工作更像Swift枚举? 最佳答案

enums - Swift 中 Objective-C typedef 枚举的相等性

我在Swift中使用FacebookObjective-CSDK,我正在尝试将FBSessionState值与枚举中的值进行比较。但是我得到编译器错误:Couldnotfindanoverloadfor'=='thatacceptsthesuppliedarguments我主要是想完成:ifstate==FBSessionStateOpen{...}我可以通过与值进行比较来解决这个问题...ifstate.value==FBSessionStateOpen.value{...}但我想知道是否有办法让这项工作更像Swift枚举? 最佳答案