removeObjectsAtIndexes for Swift arrays

前端 未结 14 1222
长情又很酷
长情又很酷 2020-11-30 12:34

What is a Swift array equivalent to NSMutableArray\'s -removeObjectsAtIndexes:? Removing each index one by one doesn\'t work, as remaining indexes

14条回答
  •  栀梦
    栀梦 (楼主)
    2020-11-30 12:50

    Here is the solution I currently use:

    extension Array {
        mutating func removeObjectAtIndexes(indexes: [Int]) {
            var indexSet = NSMutableIndexSet()
    
            for index in indexes {
                indexSet.addIndex(index)
            }
    
            indexSet.enumerateIndexesWithOptions(.Reverse) {
                self.removeAtIndex($0.0)
                return
            }
        }
    
        mutating func removeObjectAtIndexes(indexes: Int...) {
            removeObjectAtIndexes(indexes)
        }
    }
    

提交回复
热议问题