草庐IT

case-statement

全部标签

ios - Swift : 'case .success(let dict):' 是什么意思

在SwiftPromiseKit库中有一个使用有点奇怪语法的Alamofire示例:funclogin(completionHandler:(NSDictionary?,ErrorProtocol?)->Void{Alamofire.request(.GET,url,parameters:["foo":"bar"]).validate().responseJSON{responseinswitchresponse.result{case.success(letdict):completionHandler(dict,nil)case.failure(leterror):completi

swift - Swift语言中的switch语句,其中有where的case子句中的执行顺序是什么?

假设我们有以下伪代码片段:switchsome_variable{caseletvwhere:do_something...}据我了解,当代码执行进入switch时,它首先执行第一个case语句(我们只有一个)。然后它检查condition_checking部分,如果它是真的,那么let部分将被执行并且do_something将有机会运行。对吗?我问这个问题是因为我在Apple文档中看到了以下代码片段https://developer.apple.com/library/ios/documentation/Swift/Conceptual/Swift_Programming_Langu

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 - 枚举 : 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 - Realm swift : Can we implement two filter queries in single line statement?

我想像android一样在单行语句中实现filter的realm查询安卓:RealmResultscontactList=realm.where(Contact.class).equalTo(Contact.IS_FORMATTED,Boolean.TRUE).equalTo(Contact.IS_NEW_CONTACT,Boolean.TRUE).findAll();swift:我们如何在swift单行语句中实现上述查询? 最佳答案 letcontactList=realm.objects(Contact).filter("IS_

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

switch-statement - Swift StoreKIt 在支付队列中有未解析的标识符

在我对每个案例陈述的付款队列进行快速调整时,我得到了一个未解析的标识符。当我记录trans.transactionState时,我在事务for循环的每一轮都得到“(枚举值)”。我需要一些新鲜的眼睛。有什么想法吗?funcpaymentQueue(queue:SKPaymentQueue!,updatedTransactionstransactions:AnyObject[]!){fortransaction:AnyObjectintransactions{iflettrans:SKPaymentTransaction=transactionas?SKPaymentTransaction

json - swift 错误 : Statements are not allowed at the top level

这个问题在这里已经有了答案:ExpectedDeclarationErrorusingSwift(1个回答)关闭2年前。我正在浏览SwiftJSON解析(https://github.com/thoughtbot/Argo)的Argo文档,它们提供了一个简单的代码片段,应该可以检索JSON数据,但我在运行它时遇到错误。片段是://WhereveryoureceiveJSONdata:letjson:AnyObject?=NSJSONSerialization.JSONObjectWithData(data,options:NSJSONReadingOptions(0),error:ni