More than just an app, FancyKat is a reference for live coding challenges involving SwiftUI.
Data are from The Cat API, which is awesome.
Because live coding challenges often don't have time for unit tests, FancyKat doesn't include them. But this app does.
FancyKat will crash without a free API key from The Cat API. That key goes on line 6 of BreedLoader.swift
.
I developed FancyKat using Xcode 16.0 and iOS 18.0.
To grok The Cat API JSON, I used JSONFormatter.
For a first draft of the model, I used QuickType. I like QuickType's option to be explicit about CodingKeys
because I have found JSONDecoder.KeyDecodingStrategy.convertFromSnakeCase
to be unreliable.
Browsing | Details | GIF |
---|---|---|
![]() |
![]() |
![]() |
The humorous badges at the top of this readme are adapted from my curated list of iOS-development podcasts.
ImageLoader
is a modification of an approach to image loading and caching that Donny Wals presented in this article.
This blog post about SwiftUI iOS-developer coding challenges introduces the more featureful predecessor of FancyKat, KatFancy.
This video by Vincent Pradeilles inspired KatFancy's initial implementation.