diff --git a/CoreStore.podspec b/CoreStore.podspec
index 38d7970..edb2eee 100644
--- a/CoreStore.podspec
+++ b/CoreStore.podspec
@@ -1,6 +1,6 @@
Pod::Spec.new do |s|
s.name = "CoreStore"
- s.version = "2.0.6"
+ s.version = "2.0.7"
s.license = "MIT"
s.summary = "Unleashing the real power of Core Data with the elegance and safety of Swift"
s.homepage = "https://github.com/JohnEstropia/CoreStore"
diff --git a/Sources/Info.plist b/Sources/Info.plist
index 0100960..9fa96d1 100644
--- a/Sources/Info.plist
+++ b/Sources/Info.plist
@@ -15,7 +15,7 @@
CFBundlePackageType
FMWK
CFBundleShortVersionString
- 2.0.6
+ 2.0.7
CFBundleSignature
????
CFBundleVersion
diff --git a/Sources/Internal/FetchedResultsControllerDelegate.swift b/Sources/Internal/FetchedResultsControllerDelegate.swift
index fe35a11..f41777b 100644
--- a/Sources/Internal/FetchedResultsControllerDelegate.swift
+++ b/Sources/Internal/FetchedResultsControllerDelegate.swift
@@ -108,7 +108,7 @@ internal final class FetchedResultsControllerDelegate: NSObject, NSFetchedResult
return
}
- guard let actualType = NSFetchedResultsChangeType(rawValue: type.rawValue) else {
+ guard var actualType = NSFetchedResultsChangeType(rawValue: type.rawValue) else {
// This fix is for a bug where iOS passes 0 for NSFetchedResultsChangeType, but this is not a valid enum case.
// Swift will then always execute the first case of the switch causing strange behaviour.
@@ -121,6 +121,16 @@ internal final class FetchedResultsControllerDelegate: NSObject, NSFetchedResult
// https://forums.developer.apple.com/message/9998#9998
// https://forums.developer.apple.com/message/31849#31849
+ if #available(iOS 10.0, tvOS 10.0, watchOS 3.0, *) {
+
+ // I don't know if iOS 10 even attempted to fix this mess...
+ if case .Update = actualType
+ where indexPath != nil && newIndexPath != nil {
+
+ actualType = .Move
+ }
+ }
+
switch actualType {
case .Update: