草庐IT

if-cases

全部标签

ios - swift 3 : How to assign variable of different option types without multiple if let statements?

首先,如果标题含糊不清,我深表歉意。请随意更改它以符合问题描述。我会尽力描述我的问题,但首先这里有一段代码:ifletvc=currentVCas?FirstViewController{vc.doSameMethod()}elseifletvc=currentVCas?SecondViewController{vc.doSameMethod()}elseifletvc=currentVCas?ThirdViewController{vc.doSameMethod()}基本上,我使用iflet语句检查可选的nil,然后解包并赋值。我在所有3个ViewController中都有doSam

xcode - 为什么 Xcode 告诉我最后一个 case 永远不会被执行?

关于StackOverflow上的另一个问题,我在Swift中输入了一些测试代码,令我惊讶的是它告诉我最后一个案例永远不会被执行(带有.B,.C,.D),有人有什么想法吗?functest(someEnum:EnumType){switchsomeEnum{case.A:someMethodSpecificToA()fallthroughcase.B,.C,.D:someMethodSpecificToTheseThreeLetters()fallthroughcase.E:someMethodSpecificToE()fallthroughcase.A,.E:aMethodIShou

ios - 枚举 : Count and list all cases (from outside! )

我在自己的文件(“MyEnum.swift”)中有这个枚举(Xcode10/Swift5):enumMyEnum:Int,CaseIterable{caseA=0caseB=1caseC=2caseD=3caseE=4//Eachcaseneedsitsownnumberanddescription!vardescription:String{switchself{case.A:return"abc"case.B:return"bcd"case.C:return"cde"case.D:return"def"case.E:return"efg"}}}...并希望将描述添加到PickerV

Swift 3 在 if 中展开并比较 int

这个问题在这里已经有了答案:xcode8beta3:Expected','joiningpartsofamulti-clausecondition(1个回答)关闭5年前。我正在尝试解包一个值,如果可行,比较它是否大于0。我正在做以下事情:ifletmovieLength=movie.lengthas?Int,movieLength>0{self.durationLabel.text="\(movieLength)min"}else{self.durationLabel.isHidden=true}但是我得到了错误Downcastfrom'Int?'to'Int'onlyunwrapso

Swift 2 if 具有关联值的枚举的大小写语法

我猜我被一些非常简单的语法困住了,但我找不到解决方法。首先是设置,让我介绍一个具有多个关联值的漂亮枚举enumEntity{caseCity(data:CityData,position:NSRange)caseDate(date:NSDate)caseService}然后我想检查某个字典的字段是否是城市,如果是,处理它的数据和位置...我能管理的唯一方法是通过一个开关!!!ifletcity=result["ABC"]{switchcity{case.City(data:letdata,position:letposition)://Dosomethingwithdataandpos

swift - 减少嵌套 If 语句的数量

在这种(下图)情况下如何减少if语句的数量?我知道switch语句,但无法想象在这种情况下它会有什么帮助。这是下面发生的事情:第一个IF安全地检查存储在NSDefault中的日期,该日期可能存在也可能不存在如果日期存在(true),它会检查日期是否早于“现在”如果日期早于“现在”(true),它会安全地检查用户在NSDefault中的开/关首选项,这也可能存在也可能不存在如果它确实存在,它会检查它是否不等于off最后,如果#4为真,则调用该函数//Queueupmorequotenotifications?ifletnotif_EndDate=(userPref_NSDefault.o

ios - Xcode 6.1 if/else/for/switch 语句不自动完成(仅限 Swift)

我没有遇到其他帖子中描述的自动完成问题。正常功能自动完成工作得很好。我的问题是我正在运行的Xcode版本(6.1,Swift)不会自动完成/自动建议任何基本程序语句(if、for、switch、do等)。例如,如果我输入“if”,几秒钟后会弹出建议菜单;但是,窗口中没有通常描述语句功能的文档(同时显示自动布局示例以供填写)。如果我在Objective-C的相同版本的Xcode中尝试一个项目,这些基本的程序语句就可以很好地完成。我已经:1)确保我的设置设置为自动建议完成2)确保我已清除DerivedData以及之前帖子中建议的所有其他内容3)无数次重新安装Xcode并重启Mac4)从“X

swift - 枚举 : Switch case for variables of type

当我尝试打开具有枚举friendstate的optional时,当我尝试在下面的switch语句中应用它时,为什么会出现错误?提供的错误是在类型“friendState!”中找不到枚举案例“已添加”(所有情况下都会出现错误)有没有办法解决这个错误?varusernameText:String!varUID:Int!varuserDetails:UserState?varbuttonText:String{switch(userDetails!.state){case.added:return"remove"//erroroccurscase.incoming:return"accept

ios - 将 if 语句更改为 guard 会引发此错误。条件绑定(bind)的初始化程序必须具有 Optional 类型,而不是 '(Bool, String)'

我想将以下if语句更改为守卫。这样做会引发以下错误条件绑定(bind)的初始化程序必须具有可选类型,而不是“(Bool,String)”知道我应该怎么做吗?任何帮助将不胜感激。谢谢dispatch_async(backgroundQueue,{let(success,errmsg)=client.connect(timeout:5)print("Connected",success)ifsuccess{let(success,errmsg)=client.send(str:self.jsonString)print("sent",success)ifsuccess{letdata=cl

swift - "if not case"用于 Swift 中的枚举

这个问题在这里已经有了答案:complementeryofanifcase(1个回答)关闭6年前。有没有办法反转case.A=enumValue并使其类似于enumValue!=.A?enumMyEnum{caseAcaseBcaseCcaseD(something:OtherEnum)}letenumValue:MyEnum=...letotherValue:String=...ifcase.A=enumValue{//Donothing}else{ifotherValue=="something"{//Dostuff...}else{//Dootherstuff...}}//Mor