Tasks and habit apps are common learning projects, and many entries here are small to-do lists built to try a framework: SwiftUITodo, FireTodo with Firebase and Redux, RealmTasks, and VIPER-SWIFT for the VIPER architecture. Most of the older ones are marked as unmaintained. They are still handy for comparing architectures, since the app logic is the same in each one.
For apps to use, the habit trackers stand out. Table Habit and Habo are offline Flutter habit trackers, and Habitica turns habits into a role-playing game; all three have App Store links. Todo.txt and TaskPaper follow plain-text formats that make your lists easy to move. When reading these, compare how each persists data: Core Data, Realm, Firebase, CloudKit or plain files. A to-do app is small enough to see that choice clearly.