A weekly Swift Blog on Xcode and iOS Development

See all

Recent Posts

Presenting sheets with UIKit using a UISheetPresentationController

WWDC 2021 introduced iOS 15 with many API changes, including improvements to presenting sheets in UIKit with the new UISheetPresentationController ...
Read More
/ Swift

WWDC 2021 Events, Parties, and Panels you don’t want to miss

WWDC 2021 is around the corner and will bring a ton of (home)work for all of us. A new Xcode, ...
Read More
/ WWDC

Swift Jobs: How to make the right career move

Swift jobs are something we're all interested in if you're reading my articles more often. Companies are hiring remotely more ...
Read More
/ Swift

Learn more about Swift

Presenting sheets with UIKit using a UISheetPresentationController

WWDC 2021 introduced iOS 15 with many API changes, including improvements to presenting sheets in UIKit with the new UISheetPresentationController ...
/ Swift

Swift Jobs: How to make the right career move

Swift jobs are something we're all interested in if you're reading my articles more often. Companies are hiring remotely more ...
/ Swift

Fileprivate vs private in Swift: The differences explained

Fileprivate and private are part of the access control modifiers in Swift. These keywords, together with internal, public, and open, ...
/ Swift

See all

Learn SwiftUI

How to create a Conditional View Modifier in SwiftUI

Conditional View Modifier creation in SwiftUI allows you only to apply modifiers if a certain condition is true. Whether it's ...
/ SwiftUI

How to create a Dynamic Pager View for onboardings

A pager view in SwiftUI like we know UIPageViewController in UIKit didn't exist until iOS 14 and macOS 11.0. Using ...
/ SwiftUI

Getting started with UIKit in SwiftUI and vice versa

SwiftUI can work together with UIKit by making it easier to add SwiftUI views to UIKit and visa versa using ...
/ SwiftUI

See all

Combine all the things

How to observe NSManagedObject changes in Core Data using Combine

Observing changes in Core Data NSManagedObject instances with Combine publishers can be a great solution to keep your user interface ...
/ CombineCore Data

Getting started with the Combine framework in Swift

Combine was introduced as a new framework by Apple at WWDC 2019. The framework provides a declarative Swift API for ...
/ CombineSwift

Error handling in Combine explained with code examples

Once you get started with Combine you'll quickly run into error handling issues. Each Combine stream receives either a value ...
/ CombineSwift

See all

Dive into Core Data

How to observe NSManagedObject changes in Core Data using Combine

Observing changes in Core Data NSManagedObject instances with Combine publishers can be a great solution to keep your user interface ...
/ CombineCore Data

Data validation on insertion, update, and deletion in Core Data

Data validation in apps is important to make sure we save data conforming to the business rules. A name should ...
/ Core Data

Derived Attributes to improve Core Data Fetch Performance

Derived attributes are available since iOS 13 and aim to improve fetch performance in many different scenarios. Although we have ...
/ Core Data

See all

Be an expert on Xcode

Xcode Mark Line to improve readability using // Mark: comments

Xcode Mark Lines allows us to create a better overview of sections within our classes or structs. A so-called mark ...
/ Xcode

Build performance analysis for speeding up Xcode builds

Build performance can be analysed in Xcode to speed up Xcode builds. This can easily speed up your workflow and ...
/ OptimizationXcode

Overriding UserDefaults for improved productivity

UserDefaults within apps are used to store data related to user configurations. It's an easily accessible data store for saving ...
/ Xcode

See all

Get better at debugging

OSLog and Unified logging as recommended by Apple

OSLog as a replacement of print and NSLog is the recommended way of logging by Apple. It's a bit harder ...
/ DebuggingWorkflow

Using Custom debug descriptions to improve debugging

Custom debug descriptions can help you debug your own custom objects, structs, errors, and other types. Whenever you print out ...
/ DebuggingSwift

No space left on device: Testing low storage scenarios

No space left on device is an error message that starts to show up more lately. Over the years, storage ...
/ Debugging

See all

Improve your workflow

RocketSim 4.0: Compare designs & record the Simulator with Touches

RocketSim 4.0 is available as of today and comes with a few major new features. Designs from Sketch and Figma ...
/ Workflow

OSLog and Unified logging as recommended by Apple

OSLog as a replacement of print and NSLog is the recommended way of logging by Apple. It's a bit harder ...
/ DebuggingWorkflow

Full-screen development with Xcode and the Simulator

While developing apps it's important to create focus to get in your flow and speed up development. Full-screen mode can ...
/ Workflow

See all

Optimize yourself and improve

App Launch Time: 7 tips to increase performance

App Launch Time is the time it takes before your app becomes responsive after startup. As the first experience of ...
/ Optimization

Build performance analysis for speeding up Xcode builds

Build performance can be analysed in Xcode to speed up Xcode builds. This can easily speed up your workflow and ...
/ OptimizationXcode

WWDC 2020: 7 Tips to prepare yourself

In less than a week we will know what WWDC 2020 has brought to us. Apple has been working hard ...
/ Optimization

See all

Explore categories Swift Combine SwiftUI Core Data Xcode Debugging Workflow Optimization

SwiftLee Jobs