UITouch Me If You Can

During several interview processes, I've been asked many times about UIResponder and what the beast it is. I guess everybody can somehow explain this concept in iOS, which I did, but lack of in-depth knowledge frustrated me. So I decided to spend a few evenings to clarify it for myself.

Enumerated ForEach in SwiftUI

Today I'm faced with a fairly common task - implementing an enumerated ForEach with indexes in SwiftUI. At first it seemed straightforward, and it was, but with some small pitfalls that I want to highlight in this post. So, without further ado, let's dive into.

Quick tip

Multiline TextField in SwiftUI

Here it is! How many times did I try to find an answer on Stackoverflow, uhm? No more custom multiline text fields using TextEditor. Starting with iOS 16 we can achieve it using TextField just by adding a new parameter axis.

Quick tip

Type Eraser for Rx Subjects

Let's continue the series of quick articles! Recently, I've had a wish to erase a type of my Subject outside of a class definition. To be clear what I mean I prepared a small class that observes the battery level of my bluetooth device and emits new values on time.

How to clear Xcode console a bit another way

I think everyone has had a whole debugging day trying to figure out how this bug was caught by a QA team. Embellishes the fact you spend a lot of time repeating these steps to reproduce the bug even once but the QA team does it regularly. Familiar feeling, isn't it? We have such days from time to time and I had a similar one recently. I turned out as a detective and started to investigate the problem.

Quick tip

Dependency Injection for Property Wrappers

This article doesn't look like a long step-by-step tutorial, it's just a quick tip for a problem I faced recently. So I decided to share a non-obvious solution for me, maybe it will save some time for someone. Email me if the article was useful to you :)

Make friends UITableView with layout margins

It will not surpise you that most iOS applications tend to have scrolling-style screens. Have a look at some of the screenshots I've prepared below - all of which contain scrollable content. One more similarity is layout margins, notice that all content is aligned to the left with the same inset - 16pt.

On a way to great accessibility with Dynamic Type

Sir, put off your monocle, today we will talk about Dynamic Type! Accessibility plays a crucial role in all apps by far, so designing an app keep text size and layout in mind for clarity and readability.

Simplifying the Dictionary’s Subscript with Dynamic Member Lookup in Swift 4.2

Apple’s added some great features in Swift 4.2 release, so in this post, we’re going to use some of them to achieve a neat key-syntax feature for the Dictionary, but before reading further you by far have to know about the Dynamic Member Lookup.

Let’s Simplify the Work with UserDefaults

Everyone has worked with UserDefaults in order to store some simple data and knows that working with that storage is easy as it can be. But today I’m going to improve the interaction with it a bit though!

A Flexible Routing Approach in an iOS App

At Rosberry we've given up on using storyboards, except the Launch Screen, of course, and configure all layout and transition logic in code. In order to understand our reasons - read the Life without Interface Builder written by 's team, I hope you will find this post useful.

Let’s Optimize the Work with Terminal for Xcode Developers

Lately I’ve often had to switch between different Xcode projects and every time I had to change a path to a specific project in terminal. I am so tired of it! I want to have the opportunity to open Terminal right from Xcode with an already specifed path.

Dive in Disposable Mechanisms in RxSwift

Hey everyone! As a Reactive Lover, I’m going to continue a series of articles dedicated to RxSwift. In my first reactive post, I reasoned about some improvements of flatMap function (you can check it here) and today I want to extend my knowledge of RxSwift by exploring all Rx Disposables.

Improvements of flatMap function in RxSwift

Hey! If you read it, you probably good in RxSwift and ARC, understand differences between weak and unowned keywords. If no, please get acquainted with it and come back!