The Week of 4-14-14

Since Last Time

Since last week I'm not sure if I've actually accomplished a lot or if it only feels that way. The major milestone is that the app seems to be working reliably. Since I fixed some goofy code I've only had one or two crashes, and only on the simulator, never on an actual device. Furthermore, I feel good about the current design direction of the UI. I also versed my self in some of the details of Info.plist because it is now the home of the database's state information and that information will be the basis for future database update logic. 

My next steps actually involved revisiting how to retrieve the JSPointsLists associated with an instance of JSAthlete from the Core Data store. I actually spent a fair amount of time on this looking into NSOrderedSet and the 'Arrangement Ordered' checkbox in the Core Data model for to-many relationships. As it turns out it was all for not; I was hoping that this would be an easy and efficient way to ensure that the JSPointsLists were ordered the way I wanted when I retrieved them from the Core Data store, but the only way to order them using this feature appears to be based on the order in which those items were added to the store. As it turns out, it's just easier to create a NSSortDescriptor and return a NSArray using sortedArrayUsingDescriptors:. 

I also took a few days this week to pimp out Xcode with a few plug-ins (again, at the suggestion of Matt Thompson at NSHipster). The long of short of it is that Alcatraz makes it super easy to install Xcode plug-ins. There are loads of interesting plug-ins that you can use to accomplish tons of neat stuff that I hadn't really thought about before, but can make Xcode more enjoyable to use. The list of plug-ins I chose to install is listed at the bottom. I also eventually used Alcatraz to install CocoaPods which I used to include ios-linechart in the app. I'm hoping that LineChart will fit with what I need for basic plotting in the form of graphing FIS points and world rank over time. 

Up Next

My immediate next step is to work on implementing the ios-linechart code to create the plots I want. It doesn't look incredibly hard, but those are famous last words. Once I have that code written I'm hoping to move on to what needs to be implemented to store user created lists. Somewhere in there I also need to dig into the FIS CSV file because I'm getting inconsistent results when I look at the SQLite store and sort by a particular event's points vs. sorting that event's world rank. Yikes.