• The Day 60 challenge is a little longer than I have time for tonight but I got started. So far my app is downloading the json, decoding it into an array of Users, listing them on the screen in a NavigationView and showing some of the data on a detail view when a User is tapped.

  • I answered today’s quiz and challenges with no difficulty despite feeling like I hadn’t grasped all the CoreData material. I have one app where I store data as a json file (in the same format that I download it). Wondering if using CoreData there would be more efficient.

  • Day 58. NSPredicate and filtering @FetchRequest results. Also, simple entity relationships in Core Data. My battery was at 15% when this lesson was posted so I rushed through it and will review it more carefully in the morning when I have a charger handy.

  • Use Entity->CodeGen->Manual/None to create your own class manually. I’m a bit apprehensive about trusting context.mergePolicy and think I’d prefer to manage my data myself before saving. It’s not that I don’t trust CoreData, it’s just that I know @AtomicBird personally.

  • Day 56 of 100 Days of SwiftUI. Paul requested that we add a date and “format that nicely somewhere.” To me, that means including an ordinal and I was surprised that Swift didn’t support them. Used NumberFormatterStyle.ordinal.

  • Another sample app done: Bookworm. This one used Core Data including inserting, deleting, and sorting results with a @FetchRequest. I’m guessing predicates will come later. Wondering how well Core Data works server-side.

  • Day 54 has us using core data more. Also, using emoji to represent ratings which I sort of did in my Blush Perks app for dressbarn. But I didn’t create a reusable view. Glad for the into to FetchRequest but really hoping to see more. I like SQL and need some convincing.

  • Oh L’amour. AnyView type erasure would have helped me on one of the earlier projects but I’m glad to know about it now. Core Data isn’t new to me but I haven’t used it with Swift yet.

  • Oops. I accidentally did days 51 and 52 yesterday leaving no new content to work on today. I spent my hour installing Kitura (server-side swift) and working on an api for the backend of the CupcakeCorner app.

  • Completed the Day 51 challenges after reading about (and implementing) manual conformance to Codable (required due to @Published properties). Also added URLSession.shared.dataTask(with: request) which I was familiar with.

  • I’m impressed with how easy it is to share data between multiple views. No closures, no delegates. Just a single shared data class. The UI in today’s lesson and the networking code in tomorow’s lesson will fit right in to one of my Inventory apps. but I cannot require iOS13 yet.

  • New project today, this time with networking. Most of the material so far is basic swift stuff, but new to my SwiftUI vocabulary were .onAppear(perform:)and the .disabled() modifier for forms.

  • Star Wars. I really enjoy Paul’s talks and this one was very cute.

  • Day 47 is another Challenge day. This time the goal is to build a habit-tracking app. Neat idea since by now, most people following 100 Days of SwiftUI have developed at least one, probably two new habits. Studying for an hour a day, and posting about it.

  • Today’s quiz and challenges were easy. I spent some time working with rotationEffect because it seems like a part of this lesson I might use. After creating the arrow out of a triangle and rectangle I changed it to Path() instead with a series of move and addLine calls.

  • I like hypotrochoids. My family didn’t have a lot of money when I was young so my brother and I had simple toys and few of them. I had two favorites: play-doh and Spirograph. Today’s bonus video on the math behind hypotrochoids was a lot to take in, but I thoroughly enjoyed it.

  • More drawing, rotating, and coloring today and again it is hard for me to find a place for this stuff in my apps. Still glad to learn new stuff.

  • Started working with paths and shapes today. Drawing is a topic I have never needed in any language I’ve learned. Played with it in Objective-C a little but never needed to use it. I’ll keep an open mind and try to learn but it’s harder for me when I don’t see a practical use.

  • Screenshot of completed Moonshot app.
    Day 42: “Don’t Panic!” I completed the wrap-up and challenges for project 8 without any trouble. I second-guessed my placement of some of the code, but that is more a Java vs Swift issue than a SwiftUI one.

  • When I first saw Spacer(minLength:) I was curious why it was length not height. I’m glad Paul explained it because that’s the kind of thing that annoys me. This Moonshot app is a userful app with so little code. It is amazing how easy SwiftUI (and Swift) makes simple apps.

  • Day 40 looked at DateFormatter and dateStyle along with JSONDecoder’s dateDecodingStrategy and using a computed propery to format dates differently from how they appear in JSON. #100DaysOfSwiftUI

  • Working with JSONDecoder, ScrollView, and NavigationLink today. The first is basic swift and the other two were familiar but easier with SwiftUI.

  • Text("\(item.amount)") .fontWeight(item.amount < 10 ? .light : .bold) .foregroundColor(item.amount < 100 ? .primary : .red) Either of these modifiers worked, but together they pevented the compiler from building.

  • I tried to reproduce my problem in a sample project. It took a while because the sample project was working. I was able to resolve it by using string interpolation in my Text() fields. Changing Text(item.type) to Text("\(item.type)") made the problem go away. No idea why. 😡

  • Frustrated with SwiftUI and Xcode. The challenge seemed easy but when I stack two modifiers with ternary operators, the compiler states The compiler is unable to type-check this expression in reasonable time. I put it in a sample project and it works so I know it is correct.

subscribe via RSS