My take on Paul Hudson's "100 days of SwiftUI" projects and challenges.
https://www.hackingwithswift.com/100/swiftui
Done | Work in progress | Yet to come |
---|---|---|
✅ | 🚧 | 🔮 |
Projects / Topics | GIF | Days |
---|---|---|
✅ Playgrounds variables, constants, strings, numbers, booleans, string interpolation, arrays, dictionaries, sets, enums, type annotations, if, switch, ternary operator, loops, functions, parameters, return values, default values, throwing functions, closures, passing functions into functions, structs, computed properties, property observers, access control, static properties, methods, classes, inheritance, protocols, extensions, optionals, nil coalescing |
📱 | DAY01, DAY02, DAY03, DAY04, DAY05, DAY06, DAY07, DAY08, DAY09, DAY10, DAY11, DAY12, DAY13, DAY14, DAY15 |
✅ WeSplit Form, Section, NavigationView, @State property wrapper, TextField, Picker, ForEach |
DAY16, DAY17, DAY18, DAY24 |
|
🚧 UnitConverter |
DAY19 | |
✅ GuessTheFlag VStack, Image, Alert |
DAY20, DAY21, DAY22, DAY24, DAY26, DAY34, DAY75 |
|
✅ ViewsAndModifier Views, modifiers, composition, containers |
DAY23, DAY24 | |
✅ RockPaperScissors | DAY25 | |
✅ BetterRest Machine Learning, Dates (DatePicker, DateComponents, DateFormatter), Stepper, navigationBarItems() |
DAY26, DAY27, DAY28 | |
✅ WordScramble List, onAppear, Bundle, fatalError(), UITextChecker |
DAY29, DAY30, DAY30, DAY75 |
|
✅ Animations Animations and transitions |
DAY32, DAY33 | |
🚧 Edutainment | DAY35 | |
✅ iExpense UserDefaults, Codable, sheet(), onDelete(), @ObservedObject |
DAY36, DAY37, DAY38, DAY76 |
|
✅ Moonshot GeometryReader, ScrollView, Navigation, Codable hierarchy, Generics |
DAY39, DAY40, DAY41, DAY42, DAY76 |
|
✅ Drawing Paths, shapes, strokes, transforms, drawing groups, animating values, Core Animation, Metal |
DAY43, DAY44, DAY45, DAY46 |
|
✅ HabitTracker | DAY47 | |
✅ CupcakeCorner Codable, URLSession, disabled() |
DAY49, DAY50, DAY51, DAY52, DAY76 |
|
✅ Bookworm Core Data, @Binding, Custom components |
DAY53, DAY54, DAY55, DAY56, DAY75 |
|
✅ CoreData Core Data |
DAY57, DAY58, DAY59 | |
✅ FriendFace | DAY60, DAY61 | |
✅ Instafilter UIKit integration, Core Image, Custom bindings, Action Sheets |
DAY62, DAY63, DAY64, DAY65, DAY66, DAY67 |
|
✅ BucketList MapKit, Biometric authentication, Secure data writing, Comparable custom types, Documents directory |
DAY68, DAY69, DAY70, DAY71, DAY72, DAY73 |
|
✅ AccessibilitySandbox Accessibility |
DAY74 | |
🔮 EventContacts | 📱 | DAY77, DAY78 |
🔮 HotProspects Custom environment objects, Tab Views, Result, objectWillChange, Image interpolation, Context menus, Local notifications, Swift package dependencies, filter(), map() |
📱 | DAY79, DAY80, DAY81, DAY82, DAY83, DAY84, DAY85 |
🔮 Flashzilla Gestures, haptics, Combine, timers, accessibility |
📱 | DAY86, DAY87, DAY88, DAY89, DAY90, DAY91 |
🔮 LayoutAndGeometry Layout, alignment, geometry, positioning |
📱 | DAY92, DAY93, DAY94 |
🔮 RollTheDice | 📱 | DAY95 |
🔮 SnowSeeker Split view layouts, optional alerts, flexible layouts with Group, ListFormatter |
📱 | DAY99 |