Week 1 Review | Week 2 Review | Week 3 Review

This week was mostly about persistent data storage for my application, I decided to go with CoreData. There are a few reasons but the main one is that I wanted to get some CoreData experience under my belt, with another driver being that I might want to expand the data stored later on as features grow.

I can see why people have a hard time or dislike CoreData, but honestly, it is not that bad when used at a basic level. I have not tried sync or anything like that, so maybe that is where the nightmare starts.

Once I started converting my temporary data store it became apparent that there does seem to be a lot of repetition with CoreData. However, I feel that later as I start to refactor the code base to something cleaner, I can refactor a lot of this out.

I find that when learning something new, I like to be very verbose with the code until I know it well enough to start optimizing into more efficient ways.

With one big feature added this week, I think the coming week will involve a lot of UI bug fixing along with finishing the language list. Hopefully, at that point, I can turn my attention to the code note text/editor along with search and filtering of the message list. This will probably take a couple of weeks to get working how I want.

Tools I used

  • Xcode 8 IDE and compiler.
  • Tower Git client.
  • Ulysses Text editor
  • Sketch UI and design tool.
  • iPad Pro For testing

Lessons Learned

One learned lesson, next time around I will use CoreData from the start rather than try to integrate later. Not because there is a bunch of code, but because refactoring out a temporary data source used for UI building and some core code cost me more time than I had anticipated.

Last Weeks Checklist

Let’s see how much of what I planned got done.

  • Add permanent storage.
  • Add language list management.

Whilst I might not have completed the work on the language list management. I did complete the work on switching on permanent storage using CoreData. Arguably the last major must have to call this a working application at the most basic level.

Next Steps

In the coming week, here is my planned progression.

  • Add language list management.
  • Design / Plan a search and filtering system for notes.
  • Provide options on the display order of notes.

Follow My Progress

You can follow my progress via the following

The Wrap

If you are working on the #100DaysOfCode, I’d love to hear your thoughts and reports.

The post 100 Days of Code — Week 4 appeared first on PeterWitham.com.

Originally published on Wordpress