Understand the implementation to understand the performance
Let’s say you have two services: a remote service that fetches data from a server, and a local service that retrieves data from…
When it comes to testing modules in integration, it’s beneficial to use end-to-end tests. However, it’s not practical or realistic to use end-to-end tests when testing individual modules. Let’s imagine a scenario where we have to handle…
“Image Flickering” or “Cell Reuse Bug,” occurs when you scroll a UITableView or UICollectionView rapidly, and you see the image from one cell appearing in another…
UITableView
UICollectionView
Both throttle and debounce are operators that can be used for handling rapid changes or updates in values. However, they differ in how they handle the timing of emitting values.
throttle
debounce
Data races in concurrent programming occur when multiple threads access the same memory location without proper synchronization, leading to…
Parallelizing test execution & Randomizing Order
If you ever encounter performance issues with your tests (e.g., large test suite), try executing the tests in parallel as it could help to speed up the…
For developers seeking to push the boundaries of performance in their iOS and macOS applications, MetalKit stands as a pivotal tool. This framework, building upon Apple’s Metal, simplifies the integration of GPU-powered graphics and…
An in-memory Core Data store operates directly within the app’s memory (RAM), providing a swift and efficient way to access and manage data. As the data resides only in memory, it’s transient and disappears when the app is terminated or the memory store is cleared. This…