2017-02-09 3 views
0

У меня есть старый код Xcode 7.3 Swift 2. Мне нужно изменить эти два для циклов на новый синтаксис swift 3 for.Изменение старого цикла C для нового цикла Swift

fileprivate func collapseSubItemsAtIndex(_ index : Int) { 

    var indexPaths = [IndexPath]() 
    let parent = self.findParent(index) 
    checkCurrentLanguage() 

    if lang.isEqual(to: "en") 
    { 
     //For loop 1 
     for (var i = index + 1; i <= index + self.engsubItems[parent].count; i += 1){ 
      indexPaths.append(IndexPath(row: i, section: 0)) 
     } 
     self.engtableview.deleteRows(at: indexPaths, with: UITableViewRowAnimation.fade) 
     self.engtotal -= self.engsubItems[parent].count 

    } 
    else{ 
     //For loop 2 
     for (var i = index + 1; i <= index + self.subItems[parent].count; i += 1){ 
      indexPaths.append(IndexPath(row: i, section: 0)) 
     } 
     self.tableView.deleteRows(at: indexPaths, with: UITableViewRowAnimation.fade) 
     self.total -= self.subItems[parent].count 

    } 
} 
+0

Почему не просто 'языки == "ан"'? – Sulthan

+0

@Sulthan Я только что получил этот код, и им нужно обновить все до быстрых 3. Есть много ошибок в кодировании, которые я до сих пор не исправил или не уточнил. –

ответ

1
let count = self.engsubItems[parent].count 

let rowsToDelete = ((index + 1) ... (index + count)) 
    .map { IndexPath(row: $0, section: 0) } 
self.engtableview.deleteRows(at: rowsToDelete, with: UITableViewRowAnimation.fade) 
self.engtotal -= count 
1
for i in (index+1)...(index + self.engsubItems[parent].count) { 
    ... 
} 
for i in (index+1)...(index + self.subItems[parent].count) { 
    ... 
}