In this post, it is explained how to properly use of singleton in view controllers. It basically uses dependency injection
Understanding Delegates and Delegation in Swift 4
There is a good conversation here https://stackoverflow.com/questions/19179358/concurrent-vs-serial-queues-in-gcd An example to running sync call and async queue. Sync task in a
How to find visible view controller?
Thread safety is accomplished by having a computed property foo which uses an internalQueue to access the “real” _foo property.
https://medium.com/app-coder-io/27-ios-open-source-libraries-to-skyrocket-your-development-301b67d3124c Especially I love https://github.com/dzenbot/DZNEmptyDataSet Action sheet controller https://github.com/xmartlabs/XLActionController?utm_source=mybridge&utm_medium=blog&utm_campaign=read_more Expanding collection https://github.com/Ramotion/expanding-collection?utm_source=mybridge&utm_medium=blog&utm_campaign=read_more Swift algorithms https://github.com/raywenderlich/swift-algorithm-club IOS library collection https://github.com/matteocrippa/awesome-swift
You can find useful mvvm tutorials below: https://medium.com/flawless-app-stories/how-to-use-a-model-view-viewmodel-architecture-for-ios-46963c67be1b https://medium.com/@azamsharp/mvvm-in-ios-from-net-perspective-580eb7f4f129 A good video from raywenderlich
Following is a swift code to check if update available.
This tutorial guides starting git in a clear way: https://git-scm.com/docs/gittutorial