2017-02-09 90 views
0

我有旧的Xcode 7.3 Swift 2代码。我需要将这两个for循环更改为新的swift 3 for循环语法。将旧的C for循环更改为新的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我刚刚收到这段代码,他们需要将它全部更新到swift 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) { 
    ... 
}