Journal is an iOS application to practice MVC separation, protocols, master-detail interfaces, table views, and persistence. After building this project in Swift multiple times, I sought to familiarize myself with Objective-C through building Journal.
- Understand basic model-view-controller design and implementation
- Create a custom model object with a memberwise initializer
- Understand, create, and use a shared instance
- Create and implement model object controller with create, read, update, and delete functions
- How to implement the Equatable protocol
- Implement a master-detail interface
- Implement the UITableViewDataSource protocol
- Understand and implement the UITextFieldDelegate protocol to dismiss the keyboard
- Create relationship segues in Storyboards
- Understand, use, and implement the 'updateViews' pattern
- Implement 'prepare(for segue: UIStoryboardSegue, sender: Any?)' to configure destination view controllers
- Add data persistence using the Codable protocol and write data to a local file path (URL)
- Upon launch, decode the data returned from the local file path (URL) back into our custom model objects
Started and completed on 7/23/18