CoreData is one of the frameworks I use quite often, and I can’t imagine using it without fetched results controller (FRC) because they are so powerful and yet easy to use. This demo will show you how to get and filter your core data objects using FRC.
We will add our FRC in our view model. To use FRC, our class has to conform to the NSFetchedResultsControllerDelegate protocol. To conform to the protocol, our view model needs to inherit NSObject class.
Look at the properties above. CoreDataBookService is a helper class that will provide us the fetch request and…
Every now and then, we run into an issue with code we wrote a while ago. This article explores how we might tackle such a situation when refactoring a huge legacy system.
Deep comprehension of a system is necessary when wanting to apply any important changes. On rare occasions, we only need to invest a short time to study the code before we can start improving it. More often, we have to do some debugging first, even to make some unplanned modifications before we can start working on the initial task. I call this process refactoring for clarity.
At the start of 2020, I made a goal to read 30 books. For some people modest, but for me, a very ambitious goal. I tend to keep in balance fiction, and nonfiction works. A lot of those were great, and a few terrible. I won’t write about each and every one of them. However, I will give you a recommendation for the four best ones. Here is a complete list of books I read in the previous year.
Refactoring an unfamiliar working system is both risky and complicated. Add to this the need to simultaneously implement new features and persuade management to allocate time for the job to the equation; the task may seem impossible! However, if you create a good plan, this will be far easier than it may seem.
Please note: I won’t write about refactoring examples. Instead, I will leave that for another post. The main goal of this article is to show you how to begin the process.
The app that my team inherited didn’t have production issues. With 1.1M users, it was 99.9%…
When we need to persist data, Core Data is always my first choice. However, there are some cases when Core Data isn’t the best solution. If we have a considerable data set, and we need to perform high-speed search queries, full-text search (FTS) is the solution. Unfortunately for us, Core Data doesn’t support the FTS. Therefore we need to use SQLite.
Before you continue reading, I want to let you know that the code you are going to see is just a proof of concept. Many things can be better, handling errors properly for a start. …
Software development is very challenging. Firstly you have to understand the problems you are solving. Then you need to think of the solution. Depending on the solution, you have to research proper technology. During the process, you need to have a clear perception of the system you are working on and to think longterm. If not any future changes will be hard to pull off.
It’s not enough to be a great engineer to develop and maintain the software. The effort you invest in the process has to be excellent too. I’ve made tons of mistakes only because I’ve lost…
Writing beautiful code is often underestimated, especially by inexperienced developers. The main reasons are that writing beautiful code takes more time, and you won’t see its benefits right away.
Beautiful code is clean, well-organized, and simple to upgrade. It is easy to read, understand, and navigate. To create and maintain such code, I follow eight simple principles.
Coding standards are a set of coding rules. There is no universal coding standard, every product team might have its own written and unwritten rules. Among important ones, I would mention guidelines for
Flow coordinator pattern is excellent for structuring app navigation and making code clean and reusable. However, it has some flaws too. The coordinator is not working great with native navigation and back swipes.
The goal is to modify flow coordinator so we can use it both with custom and native back action, as well as swipe back. However, it’s a necessity to maintain clean code which is easy to read, reuse and upgrade.
The major problem with UINavigationController is that clicking on the default back button, or navigating back with a swipe, pops the view controller and the coordinator is…
Improving career is, unfortunately, never-ending process. Even if we talk just about one area of expertise, there will always be new technologies, a different point of view, a new book to read.
Having that idea on your mind, how should you tackle the problem? Is there a point where you should say stop, that’s enough? You may get the title or salary you want, but that means self-development is far from over.
Senior iOS Developer & Mobile Team Lead