One common issue with programmatic UIKit development is dealing with the creation and configuration of UI objects. Configuring UI elements in our code can be cumbersome and hard to synchronize their behavior and style across several screens.
By using the Builder Pattern, we can centralize the creation and configuration of these objects. This simplifies our codebase and decouples the creation of UI objects from our views.
What is the Builder Pattern?
One of the standout features of SwiftUI is its reactive paradigm, which seamlessly updates views as data changes. This powerful approach isn’t confined to SwiftUI alone; it can also be harnessed in UIKit through the use of the Combine framework, and starting with iOS 17, through the new Observation framework.
In this post, we’re going to explore using MVVM with UIKit, leveraging Combine to achieve reactive behaviors similar to SwiftUI. I hope you find this information useful and that it helps you improve the way you create and think about your applications.
In this entry, I’d like to explore the different ways we can interact with Xibs and Storyboards in our programmatic code. These files are present in many projects, so it’s important to understand the basics of how to work with them.
Let’s start with some definitions!
Definitions What are Storyboards Storyboards are like a big visual map in Xcode that lets you design your app’s screens. You can drag and drop things like buttons, labels, and images onto these screens to see how they’ll look.
Hello world, I’m back with a new entry on UIKit. In iOS 17 Apple added the ability to preview our views and ViewControllers using the SwiftUI canvas. This brings the possibility of faster programmatic UIKir programming. Let’s make a small project that illustrates how to leverage this new functionality and revising how we can create an app in UIKit 100% programmatically. 🚀
The app We will be coding an app that will ask for user information and then send it back to the main ViewController, this will showing us a simple way to pass information between views, a small introduction intro programmatic navigation and view reusability.
Hello everyone. Lately, I’ve been experimenting with deep links and SwiftUI.
In the realm of iOS development, deep linking emerges as a powerful and indispensable tool, offering developers the means to seamlessly connect users to specific content or features within their applications.
At its core, deep linking allows for the precise navigation to a particular section of an app, rather than merely launching the app’s home screen.
Understanding the fundamentals of iOS deep linking is pivotal for enhancing user experience, promoting user engagement, and, ultimately, unlocking the full potential of your mobile applications.
One of the benefits of using Swift is its excellent performance and low memory footprint. This is a key point when doing backend programming.
The future of Swift in Linux looks promising. With Swift 5.9, there will be better error logging, and Apple is developing a new open-source cross-platform testing framework with swift-testing that will replace XCTest and works on Linux too.
Let’s hope this encourages more backend systems to be written in Swift.
One common challenge encountered during frontend development is the persistence of cached data in web browsers.
While browser caches efficiently save time by storing assets and eliminating the need to download them on every website visit, they can pose problems during development when changes are made to the code.
How to Force a Full Reload in Safari with All Assets In Safari, resolving this issue is a straightforward process.
Ensure that Developer Tools are enabled by pressing CMD + ,.
The other day, I encountered an issue involving three directories, and two of them contained a subdirectory with the same name (target).
My goal is to delete the target subdirectories in all places with a single command, and here’s the solution I found.
Using the terminal to delete multiple directories. There is an useful command called find, this command is used to traverse nested directories and evaluate an expression for each element.
Let’s continue our exploration of the wonders of local development with containers.
This time, we’ll delve into the world of Haskell programming. Instead of burdening your local environment with the entire toolchain, we’ll opt for a more streamlined approach: creating a dev container. This example will illustrate how effortlessly you can integrate new tools and programming languages without causing any disruptions to your local system.
What is Haskell Haskell, a pure functional programming language, though not as commonly used in the industry, is a powerful language whose fundamentals can significantly enhance your programming skills.
Hey there! Today, let’s dive back into the world of LeetCode problems with Swift.
After successfully conquering the Two Sum problem, we’re geared up to take on the next challenge: Two Sum II.
To make things interesting, let’s explore this problem using a two pointers technique. Ready to tackle it together?
Problem We are given an array of numbers sorted in non-decreasing order (this means each element is greater or equal to the preceding one) and a target value.