Well, I thought I had the last major bug figured out, but it was still there. So back to the drawing board. This is a bit of an insidious problem since it causes unexpected changes to the data. In order to keep from corrupting my testers data, I have not released any of my interim tests, even when I think I have it right.
I then walked away from the problem for a while, and even posted a plaintiff cry on a few different iOS sites. The answers that came back where to simplify my SwiftUI View. Break it apart. I didn’t understand how this could fix the problem, so I refused to entertain that as a valid solution for a few hours
Imagine my surprise when I finally relented and created a new SwiftUI view just for the Delete, Edit and View button overlay. This had the effect of isolating the data to another view, and solved the problem. The app now will correctly allow for a user to edit an existing card, view the card in a nice full screen mode, or remove the card from the event list. Exactly the behavior I wanted.
At this point I believe I have a feature complete app. I do have plenty of ideas for additional features in the future, but after playing with this app in my spare time for four years, I think it’s time to finish the polishing and make it available on the app store.
One thing I really need to look at is how to best test the behavior of the app, both at the DB layer as well as the UX layer. Even though I am a single person shop, who only get’s to work on this out side of the day job and all other activities (i.e, maybe an hour or two here an there), I believe that investing into some kind of a test bed would help improve my productivity.