There’re many articles about design patterns that provide a good amount of information on either a comparison between different design patterns or on how to get started, and some are really good and can help you get a grasp of the theory and get you started. But some of them fall short in providing examples (real-life examples) for you to play around with them. If you are like me (a very visual and by example kind of learner) these articles may not be enough for you to feel confident to use on your projects.
Another is that there are many…
Protocols and Extension are fantastic tools to help us be more productive.
I’m going to share a list of useful yet straightforward extensions and protocols that might help you organize your code and/or be more productive.
We often want to toggle a bool and end up doing
myBool = !myBool
This extension helps you avoid doing that.
Now you will only need to call
Another annoying thing we have to deal with from time to time is using an optional
Bool? in an
if or any other control flow statements.
We sometimes end up using either a
As iOS developers, we are used to using delegates to move data asynchronously, and Apple sure loves to use them as well.
However, if you are like me (and many other iOS developers), avoiding using them is a significant part of our development steps, especially when using MVVM without RxSwift (or any other functional reactive programming library).
We are going to use closures in combination with enums to avoid using delegates between the
ViewModel and the
The project that we’ll work on uses delegates, and we will refactor it to use enums and closures instead.
On every project a time always come to make changes in he core services. This could come for different reasons, changes to the library that we use, deprecated methods on third party/Apple libraries or we just want to migrate to start using a new library or API.
This “small” change could impact our development speed, could take a lot of time to complete and/or could introduce bugs.
On this article, we will refactor all networking related files into a module. …
We all struggle from time to time when it comes to creating unit tests, mainly when the
MainView depends on core/service classes (Network Service, API Services, etc.). There are design patterns that help us avoid this kind of situations, but honestly, not every time is doable, primarily when working on legacy code. So, here’s an easy to implement nice little “trick” that will help you test without having to make any significant refactoring.
MVVM and protocol oriented programming is here to help us with our dependency injection. …
Please find the most recent version here.
As iOS developers, we tend to use a lot of delegates, sometimes even abuse of these poor little fellas. But, what else can we use? Right?
We know a few other options, but they might feel awkward or a bit of an overkill, depending on what we want to accomplish.
If you’ve been programming in iOS before the introduction of the
UIAlertController (iOS 8), you probably used its predecessor alert,
UIAlertView. One of the most noticeable changes between these two alerts is the way they interact with their caller. The
UIAlertView notified the view…