David Yang

Tips and posts for iOS developers from an iOS developer.

  • Corner radius are a very common thing in app designs. It’s very easy to achieve in SwiftUI. But when embedding multiple content with rounded corners, are you doing it right? Here are a few tricks of mine.

  • Early on, SwiftUI introduced Spacer. But did you know that you can replace it with something else in most use cases?

  • When trying to execute an action from a user’s tap interaction with an app, you may realize that there are many ways to achieve this, whether you’re developing with UIKit or SwiftUI. I’ll only cover the latter but the same applies to UIKit.

  • Working with SwiftUI, a common task in customizing your app’s design is to build a custom back button for your navigation.

  • Universal Links is a feature allowing redirection to your mobile app. Its main goal is to offer the end user the ability to display your content either on your mobile app (if it is installed) or your website.

  • As I was working on personal project, I needed a tool to build an XML file. It happened to coincide with the release of @resultBuilder, available with Swift 5.4 and from Xcode 12.5.

  • As mobile developers, we usually know exactly what kind of data we’re manipulating and have an idea of what we expect from API responses. But sometimes we don’t get the data structured as we would wish.

  • This week I started playing with SwiftUI and tried implementing some basic things: building a List with Sections, creating Custom cells etc. And I wanted then to simply display a SFSafariViewController when selecting an element of my List.

  • How would you write some code to display a simple alert style UIAlertController?

  • At WWDC19, Apple introduced two new formatters that will help developers in many ways. Only available from iOS 13+ (beta at the time this article is being written).

  • A network layer is required for any apps that consumes an API. In this article, I will present my own implementation of a network layer in Swift (heavily inspired by Moya), something I actually use in small projects.

  • Measurement is a powerful tool available on all Apple OS and a must-use when having to deal with values such as temperature, pressure, speed, area, etc.

  • With Swift 4.1 and when working with arrays, Apple deprecated flatMap(_:) to compactMap(_:). But there may be some confusion about flatMap(_:)

  • Apple introduced some really nice features with Machine Learning and made it accessible and easy to understand to all developers. This article will introduce you to CoreML and Create ML and how to build a Pokédex!

  • I had the chance this year to attend 3 iOS conferences, including Apple’s own WWDC (for the second time).

  • You may sometimes need to take screenshots or video captures of your app, wether it’s on iOS, tvOS or watchOS.

  • Lazy properties is a very simple concept, that many may know without even knowing it. It allows us to declare properties which will only be created when needed.

  • You are performing a task and expect two kind of results: success and failure (eg: performing a request to a server).

  • Call them HUD, spinner, loading indicator or loading view…

  • At one point or another, any developer may have had to argue with the fact of using Storyboards over XIB or vice versa.

  • Both are dependency managers for Cocoa projects with a large community of users or contributors. In this article, I will first try to explain their common purpose and what sets them apart.

  • So this is my first blog post. Maybe I should introduce myself.