File tree Expand file tree Collapse file tree 2 files changed +20
-8
lines changed Expand file tree Collapse file tree 2 files changed +20
-8
lines changed Original file line number Diff line number Diff line change @@ -10,9 +10,9 @@ import Foundation
1010
1111
1212class MirrorSettings {
13- var lastSyncDate : NSDate = NSDate ( timeIntervalSince1970 : 0 )
13+ var lastSyncDate : NSDate ?
1414 var queries : [ DataSelectionQuery ] = [ ]
15- var queriesModificationDate : NSDate = NSDate ( timeIntervalSince1970 : 0 )
15+ var queriesModificationDate : NSDate ?
1616
1717 /// Serialize the settings to a plist and save them to disk.
1818 func save( filePath: String ) {
@@ -23,11 +23,11 @@ class MirrorSettings {
2323 " maxObjects " : query. maxObjects
2424 ] )
2525 }
26- let settings = [
27- " lastSyncDate " : lastSyncDate,
28- " queries " : queriesJson,
29- " queriesModificationDate " : queriesModificationDate
26+ var settings : [ String : AnyObject ] = [
27+ " queries " : queriesJson
3028 ]
29+ settings [ " lastSyncDate " ] = lastSyncDate
30+ settings [ " queriesModificationDate " ] = queriesModificationDate
3131 ( settings as NSDictionary ) . writeToFile ( filePath, atomically: true )
3232 }
3333
Original file line number Diff line number Diff line change @@ -240,11 +240,23 @@ import Foundation
240240
241241 private func isSyncDelayExpired( ) -> Bool {
242242 let currentDate = NSDate ( )
243- return currentDate. timeIntervalSinceDate ( self . mirrorSettings. lastSyncDate) > self . delayBetweenSyncs
243+ if let lastSyncDate = mirrorSettings. lastSyncDate {
244+ return currentDate. timeIntervalSinceDate ( lastSyncDate) > self . delayBetweenSyncs
245+ } else {
246+ return true
247+ }
244248 }
245249
246250 private func isMirrorSettingsDirty( ) -> Bool {
247- return self . mirrorSettings. queriesModificationDate. compare ( self . mirrorSettings. lastSyncDate) == . OrderedDescending
251+ if let queriesModificationDate = mirrorSettings. queriesModificationDate {
252+ if let lastSyncDate = lastSuccessfulSyncDate {
253+ return queriesModificationDate. compare ( lastSyncDate) == . OrderedDescending
254+ } else {
255+ return true
256+ }
257+ } else {
258+ return false
259+ }
248260 }
249261
250262 /// Refresh the local mirror.
You can’t perform that action at this time.
0 commit comments