草庐IT

swift - 从 rawValue 初始化通用类型的枚举

我正在Swift中试验自定义运算符(试验。我不需要讲授自定义运算符为什么不好)我想,嗯,EnumType(rawValue:)有点长.也许我可以找接线员解决这个问题?所以我写道:infixoperator∑func∑(lhs:T,rhs:U.Type){rhs(rawValue:lhs)}如本示例所示,将按预期使用:enumDiceResult:Int{caseone=1,two,three,four,five,six}letroll=1∑DiceResult//DiceResult.one但是我写的代码给了我这个错误:Non-nominaltype'U'doesnotsupporte

swift - 为什么我的枚举说 "ErrorType"

classQuestion{vartype:QuestionTypevarquery:Stringvaranswer:Stringinit(type:QuestionType,query:String,answer:String){self.type=typeself.query=queryself.answer=answer}}enumQuestionType:String{casetrueFalse="Theskyisblue."casemultipleChoice="WhoistheugliestBeatle:John,Paul,GeorgeorRingo?"caseshortA

swift - 无论 Swift 中的大小写如何,从枚举中提取关联值

我想获取swift枚举对象的关联值,有没有比下面的switch语句更短/更好的方法?enumTest{casea(Int),b(Int),c(Int)}funcprintValue(_t:Test){switcht{case.a(letv),.b(letv),.c(letv):print("value\(v)")}} 最佳答案 您从多个枚举中提取关联值的代码是最经济易读的,无需改进。但是,无论enum的大小写如何,您都希望提取关联值这一事实表明您没有正确使用关联值:而不是将值与每个单独的情况相关联,您应该创建一个复合类型,它包含In

arrays - Swift:使用枚举的原始值访问 UIButton 和常量数组中的字符串是个好主意吗?

我提前道歉,这很难解释。如果需要,我会提供更多详细信息。这是我用来在集合数组中引用UIButtons并用作字典键的Constants结构。structConstants{staticletscoreA="score_a"staticletscoreB="score_b"staticletscoreC="score_c"staticletscoreD="score_d"staticletconstantsArray=[kScoreA,kScoreB,kScoreC,kScoreD]enumScores:Int,CaseIterable{casescoreA=1,ScoreB,ScoreC

ios - 解码包含 boolean 值的枚举

我有这个JSON文件。[{"name":"January","holidays":[{"name":"NewYear'sDay","date":"2019-01-01T00:00:00-0500","type":{"isNationalHoliday":true,"isRegionalHoliday":true,"isPublicHoliday":true,"isGovernmentHoliday":true}},{"name":"MartinLutherKingDay","date":"2019-01-21T00:00:00-0500","type":{"isNationalHoli

swift - 如何比较 NSPersistentStoreUbiquitousTransitionType 枚举值

尝试使用此方法比较从NSPersistentStoreCoordinatorStoresDidChangeNotification接收到的值时出现以下错误//Checktypeoftransitioniflettype=n.userInfo?[NSPersistentStoreUbiquitousTransitionTypeKey]as?UInt{FLOG("transitiontypeis\(type)")if(type==NSPersistentStoreUbiquitousTransitionType.InitialImportCompleted){FLOG("transitio

swift - Int 类型的变量不能分配给定义为 Int 的枚举

枚举在类的开头声明。然后我尝试将TAG值分配给枚举;然而编译器给出错误提示:'MenuItemsisnotconvertibletoInt'您认为这里的问题是什么?enumMenuItems:Int{casemenuItemEmail=0casemenuItemNamecasemenuItemPasswordcasemenuItemAddPet}functableView(tableView:UITableView,cellForRowAtIndexPathindexPath:NSIndexPath)->UITableViewCell{letcell:SettingsViewTable

ios - 直接调用 Swift 枚举实例方法会创建实例吗?

假设我有一个枚举,例如:enumAnimalType{caseDogcaseCatfuncbarks()->Bool{switchself{caseDog:returntruecaseCat:returnfalse}}}如果我要这样做的话:funcpickAnimal(shouldBark:Bool){switchshouldBark{caseAnimalType.Dog.barks():println("youshouldpickdogs")caseAnimalType.Cat.barks():println("youshouldpickcats")default:println("

objective-c - 来自 objective-c 的 swift 中的可选枚举

我有一个在objective-c中定义的协议(protocol)。它有一个枚举属性。我想创建一个实现此协议(protocol)的swift类,并且我希望swift类具有可选的枚举字段。我不能对枚举类型使用nullable注释。如何解决这个问题? 最佳答案 Objective-C中的枚举永远不会是nil,因为它们总是默认为0,因为它们不是引用类型。因此,您不能使用属性never-nil来实现协议(protocol),同时在swift中使其成为可选的(例如可为空)。如果您有时需要nullablenullable属性,那么您可能必须重新设

ios - 在 Swift 中使用带整数的枚举

我想知道如何限制我可以传递给函数作为参数(或类作为属性)的值集。或者,换句话说,我想要实现的逻辑实际上是让函数或类只接受特定的值。我想出了一个使用枚举的想法。但这里需要注意的是,我不能像这样在“大小写”中使用纯整数:enumMeasure{case1,2,3}有什么办法可以实现我想要的吗? 最佳答案 enumMeasure:Int{caseONE=1caseTWO=2caseTHREE=3}//acceptitasargumentfuncmyMethod(measure:Measure){switchmeasure{case.ONE