我只是用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 關注
- 651 瀏覽
添加回答
舉報
0/150
提交
取消