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