Thomas Asheim SmedmannReal-time with WebSockets and Swift ConcurrencySending and receiving real-time messages over a generic WebSocket connection using AsyncStream and Swift Concurrency4 min read·Feb 25, 2024----
Thomas Asheim SmedmannConcurrent and thread safe data cache with Swift ConcurrencySome examples on how to build a concurrent and thread safe data/resource cache using Swift Concurrency primitives3 min read·Feb 24, 2024----
Thomas Asheim SmedmannCore Bluetooth and the BLE stackAn introduction to BLE (Bluetooth Low Energy), and how it powers the Core Bluetooth Framework.18 min read·Feb 9, 2024----
Thomas Asheim SmedmannRender HTML in SwiftUIRender HTML in SwiftUI using NSAttributedString, UITextView and UIViewRepresentable.6 min read·Jul 11, 2023----
Thomas Asheim SmedmannDynamically alternate/change app iconA simple example on how to dynamically alternate/change the app icon of your app6 min read·Jul 9, 2023----
Thomas Asheim SmedmannKeyboard Avoidance View ControllerA simple base UIViewController that automatically makes growing content scrollable, and ensures that content is never obscured by the…2 min read·Apr 22, 2023----
Thomas Asheim SmedmannDetect and utilise consecutive taps on a TabView tabA quick loot at how to detect and utilise consecutive taps on a TabView tab.2 min read·Aug 29, 2022----
Thomas Asheim SmedmannExpandable and dynamic sized Table Header View and Table Footer ViewA quick look at how to dynamically expand and resize a UITableView’s header and footer view.5 min read·Aug 23, 2022--1--1
Thomas Asheim SmedmannCustom Container View ControllerA quick look at how to create your own container view controller, including how to use Auto Layout to constrain and animate its children.2 min read·Aug 10, 2022----
Thomas Asheim SmedmannExpandable and dynamic sized Table View CellA quick look at how to dynamically expand and resize a table view cell without having to reload it.3 min read·Aug 9, 2022--2--2