Comments (1)
Hey @teawithfruit, generally you want to create one synchronizer per model, so if you're using Core Data you would have one synchronizer for your managed object context, and if you're using Realm you would have one synchronizer for your entire realm.
I would recommend creating your synchronizer once (I use the AppDelegate in the example), then pass it to each controller that needs it using dependency injection (here), so they can trigger synchronisation.
In another app of my own I use a protocol like this
protocol SynchronizationInteractor: AnyObject {
var isSynchronizationEnabled: Bool { get }
var isSynchronizing: Bool { get }
var error: Error? { get }
func synchronize(completion: ((Error?) -> ())?)
func cancel()
}
And then implement it in a class that owns the synchronizer but doesn't expose it. So the rest of the app is fully agnostic to the technology that's being used to synchronize data.
In the case of the example app it uses VIPER and sets up all dependencies in the App Delegate, but I could give more specific advice depending on how you're architecting your app.
from synckit.
Related Issues (20)
- Carthage build fails on Xcode 12 HOT 1
- As a participant, how can I remove myself from sharing? HOT 3
- How to get shared data in WidgetExtension? HOT 1
- Can some objects of a certain class in the local database be out of sync? HOT 1
- Variable of type "List<String>()" is not being uploaded. HOT 3
- SyncError on macOS HOT 1
- Many-to-many relationships and Core Data HOT 3
- Newly added column is not getting synced after Realm is migrated HOT 5
- How to sync data in widget? HOT 5
- Termination: Cannot unarchive type from non-NSData object. HOT 9
- CoreData URL/URI type fields not synced HOT 3
- Remote schema not reliably created/updated HOT 5
- App repeatedly crashing seconds after start for one user HOT 2
- No such module 'SyncKit' HOT 1
- Realm's EmbeddedObject? HOT 1
- Threading logic bug HOT 3
- modifyRecordsCompletionBlock deprecated on iOS 15 HOT 1
- Error in MultiRealmResultsController in Xcode 14.3 HOT 1
- Parent record's modified date time updated when a child record was synced the first time HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from synckit.