草庐IT

if-cases

全部标签

ios - Swift if let 在 Optional(nil) 上评估成功

我有一个名为Field的自定义对象。我基本上用它来定义表单中的单个字段。classField{varname:Stringvarvalue:Any?//initializershere...}当用户提交表单时,我验证每个Field对象以确保它们包含有效值。有些字段不是必需的,所以我有时故意将nil设置为value属性,如下所示:field.value=nil当我使用if-let来确定字段是否为nil时,这似乎会造成问题。ifletvalue=field.value{//Thefieldhasavalue,ignoreit...}else{//Addfield.nametothemiss

swift - 在swift中比较单个if结构中的非可选bool有什么问题

我已经使用Swift编写代码一段时间了,我想我必须把!在我所有未立即定义的let字段变量上。现在我今天注意到这段代码没有编译,我真的很惊讶?这是为什么?classMyClass:Mapper{vara:Bool!requiredinit?(_map:Map){}//Mappablefuncmapping(map:Map){aAppleSwift2.2版编辑有些人指出为什么我要对一个永远不会改变的变量使用let。我提到它用于字段变量,但我缩短了示例。使用ObjectMapper(http://github.com/Hearst-DD/ObjectMapper)时,所有字段都不会立即在in

ios - 用户界面测试 : Check if text with prefix exists

在进行UI测试时,我可以测试文本是否存在,如下所示:XCTAssertTrue(tablesQuery.staticTexts["Born:May7,1944"].exists)但是,如果我只知道前缀,我该如何测试文本是否存在?我想做这样的事情:XCTAssertTrue(tablesQuery.staticTextWithPrefix["Born:"].exists)甚至更好:XCTAssertTrue(tablesQuery.staticTextWithRegex["Born:.+"].exists) 最佳答案 您可以使用谓词按

swift - 是否可以在 Swift if 语句中定义变量?

是否可以在Swiftif语句中定义一个变量,然后在语句外使用它?varcellWidth=requiredWidthifnotification.type=="vote"{varcellWidth=maxWidth-80println("cellWidthis\(cellWidth)")println("maxWidthis\(maxWidth)")}println("cellWidthis\(cellWidth)")我可以将使用cellWidth的代码复制到if语句中,但这似乎效率不高。有没有更好的方法来处理Swift中的条件变量? 最佳答案

Swiftier Swift for 'add to array, or create if not there...'

我注意到Swift中的一个常见模式是varx:[String:[Thing]]=[:]所以,当你想“向其中一个数组添加一个项目”时,你不能只是x[which].append(t)你必须ifx.index(forKey:which)==nil{x[which]=[]}x[which]!.append(s!)真的,有没有更快捷的方式来表达类似的东西x[index?!?!].append??(s?!)虽然这是一个关于样式的问题,但由于Swift的复制特性,在Swift中接触数组时性能似乎是一个关键问题。(请注意,显然您可以为此使用扩展;这是一个关于Swiftiness的问题。)

swift - 如何在 Swift 的 switch-case/loops 中增加变量的范围?

如何使用switchcase语句来创建在switch-case语句之外有效的变量/常量。如果没有办法做到这一点,我还能做些什么来达到同样的效果,即创建受条件约束的变量,并使其在“全局”或更高范围内可访问?vardogInfo=(3,"Fido")switchdogInfo{case(varage,"wooff"):println("MydogFidois\(age)yearsold")case(3,"Fido"):varmatchtrue=10-->10matchtrue-->10default:"Nomatch"}matchtrue-->Error:Useofunresolvedid

ios - 自定义运算符以简化 If-Let

我想简化常量需要做的事情ifletfirstName=firstName{self.name=firstName}执行此操作的可能的自定义通用运算符是infixoperator?={}func?=(inoutleft:T,right:T?){ifletright=right{left=right}}将前面的例子简化为self.name?=firstName这会产生一个问题,如果firstName的值为nil,则Swift会将值包装在一个可选值中。varname:String?="Bob"varfirstName:String?=nilself.name?=firstNameprint(

Unity Shader - if 和 keyword 的指令比较

文章目录环境TestingIf4Sampleunityshaderlab中的TestingIf4Sample.shadergraphicsanalyzer中的TestingIf4Sample.glslTestingKW4Sampleunityshaderlab中的TestingKW4Sample.shadergraphicsanalyzer中的TestingKW4Sample.glsl比较环境Unity:2020.3.37f1Pipeline:BRPTestingIf4Sample下面是shaderlab和armmobilestudio中的graphicsanalyzer的glsl代码unit

xcode - 为什么 switch 语句中的 'case' 是负缩进的?

这个问题在这里已经有了答案:Whyaren'tcasestatementinsideaswitchbeingindentedbysomeIDEs?[duplicate](3个答案)关闭7年前。我不认为这完全是Swift/Xcode的事情,正如我在其他语言/IDE中看到的那样。为什么switch语句中的'case'是负缩进的(我不确定这是否是正确的措辞方式)?我希望Switch语句看起来像这样switch(type){case1://dosomethingbreak;case2://dosomethingelsebreak;default://defaultbreak;}但是Xcode坚

swift - 如何在 RxSwift 中翻译 if-else?

我正在努力学习图书馆RxSwift我有这样的代码:ifdata.checkAllIsOk(){[dothings]}else{[showalert]}现在我需要在检查之前从服务器更新数据,所以我建模了一个返回Observable的getData()。我目前的做法是这样的:getData()>-flatMap{(data:Data)->Observablein_=0//workaroundfortypeinferencebugsreturnjust(data.checkAllIsOk())}>-subscribeNext{(ok)->Voidinifok{[dothethings]}el