我只是用swift 2.2下载了一个新的Xcode(7.3)。它有一个警告:不推荐使用C风格的statement,并且会在以后的Swift版本中将其删除。如何解决此警告?
3 回答
守着星空守着你
TA贡献1799条经验 获得超8个赞
删除for init; comparison; increment {}并删除++和--轻松。并使用Swift的漂亮for-in循环
// WARNING: C-style for statement is deprecated and will be removed in a future version of Swift
for var i = 1; i <= 10; i += 1 {
print("I'm number \(i)")
}Swift 2.2:
// new swift style works well
for i in 1...10 {
print("I'm number \(i)")
}递减指数
for index in 10.stride(to: 0, by: -1) {
print(index)
}或者你可以使用reverse()像
for index in (0 ..< 10).reverse() { ... }浮球型 (there is no need to define any types to index)
for index in 0.stride(to: 0.6, by: 0.1) {
print(index) //0.0 ,0.1, 0.2,0.3,0.4,0.5
}Swift 3.0:
从开始Swift3.0,stride(to:by:)Strideable上的方法已替换为自由函数,stride(from:to:by:)
for i in stride(from: 0, to: 10, by: 1){
print(i)}对于中的递减索引Swift 3.0,您可以使用reversed()
for i in (0 ..< 5).reversed() {
print(i) // 4,3,2,1,0}其他则for each和stride(),则可以使用While Loops
var i = 0while i < 10 {
i += 1
print(i)}Repeat-While Loop:
var a = 0repeat {
a += 1
print(a)} while a < 10在《 Swift编程语言指南》中查看控制流
慕勒3428872
TA贡献1848条经验 获得超6个赞
对于这种“ for”循环:
for var i = 10; i >= 0; --i {
print(i)}你可以写:
for i in (0...10).reverse() {
print(i)}
慕田峪9158850
TA贡献1794条经验 获得超8个赞
我收到与此代码相同的错误:
for (var i = 1; i != video.getAll().count; i++) {
print("show number \(i)")}当您尝试使用Xcode修复它时,您会遇到运气...因此,您需要使用新的swift样式(for in loop):
for i in 1...video.getAll().count {
print("show number \(i)")}- 3 回答
- 0 关注
- 674 浏览
添加回答
举报
0/150
提交
取消
