Hi, I'm Sarun 👋 — an iOS developer.

On this blog I share my working processes, tip and tricks, tools, and problems I found along the way.

Get weekly updates on new posts


How to use if and switch as expressions in Swift

Swift 5.9 lets an if or switch produce a value instead of just assigning one. It removes a var we never wanted, but the single-expression rule catches people out.


How to add cases to a public enum without breaking your API

Adding a case to a public enum is a source-breaking change for anyone switching over it. Swift's @nonexhaustive attribute finally lets packages opt out of that.

How to declare a fixed-size array in Swift

Swift 6.2 adds InlineArray, a fixed-size array whose length is part of its type, along with a shorthand for writing it: [5 of Int].



SwiftUI: Explore the new declarative UI framework


More posts about SwiftUI

How to create custom view modifiers in SwiftUI

Learn how to create reuse styles using ViewModifier.

How to request users to review your app in SwiftUI

Learn how and when you should ask for a user's review.

How to dismiss Keyboard in SwiftUI

Learn how to programmatically dismiss a keyboard in SwiftUI.

Create Button with Rounded Corner Border in SwiftUI

Learn different ways to create a Button with a Rounded corner Border in SwiftUI.

More posts about SwiftUI or explore other topics

UIKit: Learn the best of both worlds


More posts about UIKit

How to request users to review your app in UIKit

Learn how and when you should ask for a user's review.

How to add a Toolbar in UINavigationController

Learn how easy it is to add a toolbar on a view controller in UIKit.

Built-in symbol animations in UIKit controls

In iOS 17, we can enable symbols animation in UIKit controls using the new property. Let's learn how to do it.

What is contentInset in a scroll view

Learn the importance of content inset.

More posts about UIKit or explore other topics

Swift: Learn every aspect of the language


More posts about Swift

How to add cases to a public enum without breaking your API

Adding a case to a public enum is a source-breaking change for anyone switching over it. Swift's @nonexhaustive attribute finally lets packages opt out of that.

How to declare a fixed-size array in Swift

Swift 6.2 adds InlineArray, a fixed-size array whose length is part of its type, along with a shorthand for writing it: [5 of Int].

How to set a default value in Swift string interpolation

Swift 6.2 adds a default: label to string interpolation, so we can provide a fallback string for any optional value without fighting the type checker.

How to use raw identifiers in Swift

Swift 6.2 lets us write names containing spaces, digits, and punctuation by wrapping them in backticks. Let's see where that helps.

More posts about Swift or explore other topics

Xcode: Learn tips and tricks about the tool


More posts about Xcode

How to fix "dyld: Library not loaded @rpath" error

You probably get this error when you try to add a third-party framework to your project. Let's learn one way to fix it.

Bookmark in Xcode 15

Xcode 15 brings one of the great features of Xcode, the ability to bookmark your code.

Access Images and Colors with Enum in Xcode 15

Xcode 15 can automatically create Swift symbols for your resources without any third party. Let's learn how to do it.

Little big improvements in Xcode 15

Small improvements that make a big difference in day-to-day coding.

More posts about Xcode or explore other topics


  • Apps

    I got some apps in the App Store, you can check them out.

  • Books

    My books on iOS development, including Practical Sign in with Apple.

  • Gosh Darn SwiftUI

    SwiftUI cheat sheet