RxSwift/RxExample/RxDataSources/DataSources/Array+Extensions.swift

30 lines
987 B
Swift

//
// Array+Extensions.swift
// RxDataSources
//
// Created by Krunoslav Zaher on 4/26/16.
// Copyright © 2016 Krunoslav Zaher. All rights reserved.
//
import Foundation
import Foundation
extension Array where Element: SectionModelType {
mutating func moveFromSourceIndexPath(_ sourceIndexPath: IndexPath, destinationIndexPath: IndexPath) {
let sourceSection = self[sourceIndexPath.section]
var sourceItems = sourceSection.items
let sourceItem = sourceItems.remove(at: sourceIndexPath.item)
let sourceSectionNew = Element(original: sourceSection, items: sourceItems)
self[sourceIndexPath.section] = sourceSectionNew
let destinationSection = self[destinationIndexPath.section]
var destinationItems = destinationSection.items
destinationItems.insert(sourceItem, at: destinationIndexPath.item)
self[destinationIndexPath.section] = Element(original: destinationSection, items: destinationItems)
}
}