草庐IT

ranged-loops

全部标签

swift - 类型 'String' 的值在 Swift 中没有成员 'range'

我相信我遇到了Swift版本控制问题,但我不太确定。该代码适用于我的Xcode平台,但不适用于在线swift编译器。有没有其他人遇到过这个问题或者知道我可以用什么来替换我检查字符的以下行:ifi==0||!((line.range(of:":")!=nil))这是我的代码:importFoundationfunchackTheString(line:String){varmaxOpen:Int=0varminOpen:Int=0minOpen=0maxOpen=0leti=0whilei=0&&minOpen==0{print("YES")}else{print("NO")}}}whi

swift - 'for index'与传统 'for loop'的区别

我是Swift的新手,也是编程新手。我不确定是不是因为现在是凌晨2点34分,但有人可以帮我确定这两个循环之间的区别吗?第一个是产生我想要的值但使用(正如Swift文档所解释的那样)一个“传统的C循环”,其中后一个是使用Swift首选的“forindex”循环(我个人喜欢因为我更清楚),问题是这个循环返回每个数字而不是满足条件。funcfindLargestPrimeFactor(number:Int){forvari=2;i0{}else{print(i);}}}findLargestPrimeFactor(13195);下面是将每个数字返回到13195funcfindLargestP

swift - 无法分配给属性 : 'card' is a 'let' constant in a for loop in swift

这个问题在这里已经有了答案:"Cannotassignto"erroriteratingthrougharrayofstruct(3个答案)关闭4年前。无法分配给属性:“card”是chooseCard方法中for循环中的“let”常量。我无法弄清楚为什么错误会出现在for循环中。我在代码中遗漏了什么。请帮忙。importFoundationclassConcentration{varcards=[Card]()varfaceUpCount=0funcchooseCard(atIndex:Int){varalreadyFaceUpCard=Card()iffaceUpCount==0{

ios - swift fatal error : array index out of range

我正在制作一个待办事项列表应用程序,但是当我尝试从我的列表中删除某些内容时,xcode给我一个错误,提示“fatalerror:数组索引超出范围”。有人可以告诉我我的数组做错了什么导致发生这种情况吗?importUIKitclassSecondViewController:UIViewController,UITableViewDelegate,UITableViewDataSource{overridefuncviewDidLoad(){super.viewDidLoad()//Doanyadditionalsetupafterloadingtheview,typicallyfrom

arrays - 如何在 swift 3/4 中使用 range.map?

我有下面的代码,它适用于swift2.3。我正在努力了解如何将其转换为swift3/4-这就是问题所在Valueoftype'Range'hasnomember'map'letgrainSize=CGFloat(0.01)letmin=CGFloat(-3)letmax=CGFloat(3)letrange=Range(uncheckedBounds:(lower:Int(min/grainSize),upper:Int(max/grainSize)))letlol=NSRange(range)varpoints=range.map{step->CGPointinleti=grainS

swift - 无法形成 Range with end < start 在执行 for 循环之前检查范围?

我遇到了swift代码的变化,我不太明白。vararr=[]forvari=1;i我有一个程序可以获取一个结果数组,该数组也可以为空。这对于上面的for循环是没有问题的。现在苹果要我把代码改成下面这样。但如果数组为空,这将崩溃。vararr=[]foriin1...arr.count{print("iwanttoseethei\(i)")}我真的必须先检查范围再做循环吗?vararr=[]if(arr.count>=1){foriin1...arr.count{print("Iwanttoseethei\(i)")}}是否有更智能的解决方案? 最佳答案

for-loop - Swift 中的 For 循环

突然,我在Apple文档中学到的for循环结构停止工作,它显示错误:Expecteddeclaration。谁能告诉我新语法是什么?letCirclePoints=84varcirclePoint=0forcirclePointin0..这种方式也不行:forvarcirclePoint=0;circlePoint 最佳答案 正如其他人所说,您的代码本身运行良好。如果您收到预期的错误声明,您可能在类主体中编写了如下代码:classmyClass{letCirclePoints=84varcirclePoint=0forcircleP

ios - 没有 "Index out of Range"swift 的实时重新加载 UITableview

我试图每秒重新加载我的表格View。我现在拥有的是重新加载tableview对象,但由于我在重新加载之前清除了Order数组,它因索引超出范围而崩溃。这是我当前的代码varorders=[Order]()overridefuncviewDidLoad(){super.viewDidLoad()//tablestufftableview.dataSource=selftableview.delegate=self//updateordersvartimer=Timer.scheduledTimer(timeInterval:4,target:self,selector:"GetOrder

swift 3 (SpriteKit) : Stopping a forever looping SKAction has a delay

我一直在尝试制作一个永远运行的SKAction,我可以随时停止它。我是这样做的:overridefuncdidMove(toview:SKView){run(SKAction.repeatForever(SKAction.sequence([SKAction.run(drawFrame),SKAction.wait(forDuration:0.01),])),withKey:"frameDrawing")}然后在drawFrame函数中,我像这样停止SKAction:funcdrawFrame(){//(code)ifstop{removeAction(forKey:"frameDra

ios - swift & PromiseKit : Resolving ALL promises from a loop

我正在寻找Swift3中的解决方案来一次解决动态数量的promise,例如就像JavaScript中的这个示例:varpromises=[];for(vari=0;ihttps://daveceddia.com/waiting-for-promises-in-a-loop/Swift2有一个名为“Craft”的库可以做到这一点(https://github.com/supertommy/craft),但不再维护。有谁知道我是否可以或如何使用PromiseKit或其他库来做到这一点?非常感谢! 最佳答案 您可以查看when,它可能会提