#warning:不赞成使用C语言的for语句,并将在以后的Swift版本中删除

我只是用swift 2.2下载了一个新的Xcode(7.3)。

它有一个警告:

不推荐使用C风格的statement,并且会在以后的Swift版本中将其删除。

如何解决此警告?


慕村9548890
浏览 549回答 3
3回答

守着星空守着你

删除for init; comparison; increment {}并删除++和--轻松。并使用Swift的漂亮for-in循环&nbsp;&nbsp;&nbsp;//&nbsp;WARNING:&nbsp;C-style&nbsp;for&nbsp;statement&nbsp;is&nbsp;deprecated&nbsp;and&nbsp;will&nbsp;be&nbsp;removed&nbsp;in&nbsp;a&nbsp;future&nbsp;version&nbsp;of&nbsp;Swift &nbsp;&nbsp;&nbsp;for&nbsp;var&nbsp;i&nbsp;=&nbsp;1;&nbsp;i&nbsp;<=&nbsp;10;&nbsp;i&nbsp;+=&nbsp;1&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print("I'm&nbsp;number&nbsp;\(i)") &nbsp;&nbsp;&nbsp;}Swift 2.2:&nbsp;&nbsp;&nbsp;//&nbsp;new&nbsp;swift&nbsp;style&nbsp;works&nbsp;well &nbsp;&nbsp;&nbsp;for&nbsp;i&nbsp;in&nbsp;1...10&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print("I'm&nbsp;number&nbsp;\(i)") &nbsp;&nbsp;&nbsp;}递减指数&nbsp;&nbsp;for&nbsp;index&nbsp;in&nbsp;10.stride(to:&nbsp;0,&nbsp;by:&nbsp;-1)&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print(index) &nbsp;&nbsp;}或者你可以使用reverse()像&nbsp;&nbsp;for&nbsp;index&nbsp;in&nbsp;(0&nbsp;..<&nbsp;10).reverse()&nbsp;{&nbsp;...&nbsp;}浮球型&nbsp;(there is no need to define any types to index)&nbsp;for&nbsp;index&nbsp;in&nbsp;0.stride(to:&nbsp;0.6,&nbsp;by:&nbsp;0.1)&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print(index)&nbsp;&nbsp;//0.0&nbsp;,0.1,&nbsp;0.2,0.3,0.4,0.5 &nbsp;}Swift 3.0:从开始Swift3.0,stride(to:by:)Strideable上的方法已替换为自由函数,stride(from:to:by:)for&nbsp;i&nbsp;in&nbsp;stride(from:&nbsp;0,&nbsp;to:&nbsp;10,&nbsp;by:&nbsp;1){ &nbsp;&nbsp;&nbsp;&nbsp;print(i)}对于中的递减索引Swift 3.0,您可以使用reversed()for&nbsp;i&nbsp;in&nbsp;(0&nbsp;..<&nbsp;5).reversed()&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;print(i)&nbsp;//&nbsp;4,3,2,1,0}其他则for each和stride(),则可以使用While Loopsvar&nbsp;i&nbsp;=&nbsp;0while&nbsp;i&nbsp;<&nbsp;10&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;i&nbsp;+=&nbsp;1 &nbsp;&nbsp;&nbsp;&nbsp;print(i)}Repeat-While Loop:var&nbsp;a&nbsp;=&nbsp;0repeat&nbsp;{ &nbsp;&nbsp;&nbsp;a&nbsp;+=&nbsp;1 &nbsp;&nbsp;&nbsp;print(a)}&nbsp;while&nbsp;a&nbsp;<&nbsp;10在《 Swift编程语言指南》中查看控制流

慕勒3428872

对于这种“ for”循环:for&nbsp;var&nbsp;i&nbsp;=&nbsp;10;&nbsp;i&nbsp;>=&nbsp;0;&nbsp;--i&nbsp;{ &nbsp;&nbsp;&nbsp;print(i)}你可以写:for&nbsp;i&nbsp;in&nbsp;(0...10).reverse()&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;print(i)}

慕田峪9158850

我收到与此代码相同的错误:for&nbsp;(var&nbsp;i&nbsp;=&nbsp;1;&nbsp;i&nbsp;!=&nbsp;video.getAll().count;&nbsp;i++)&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;print("show&nbsp;number&nbsp;\(i)")}当您尝试使用Xcode修复它时,您会遇到运气...因此,您需要使用新的swift样式(for in loop):for&nbsp;i&nbsp;in&nbsp;1...video.getAll().count&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;print("show&nbsp;number&nbsp;\(i)")}
打开App,查看更多内容
随时随地看视频慕课网APP