Skip to content

jfraught/ios-assessment-notes

 
 

Repository files navigation

Instructions for Unit 1 Challenge

Requirements

Please fork and clone this repository, then watch the screen recording provided before starting. The included screen recording demonstrates the application you are to create for this challenge.

Note the following requirements:

  1. Initial screen shows a list of notes. Each row shows as much of the note text as will fit.
  2. Tapping the plus button in the top right corner brings up a screen with a text view to enter text for a new note.
  3. Tapping the Save button saves the new note and returns to the list of notes.
  4. If the app is killed and restarted, previously saved notes must continue to be shown.
  5. Tapping on an existing note in the list returns to the detail view and shows the full text of the note.
  6. User can swipe to delete existing notes.

Black Diamonds

  • The detail view for an existing note should allow editing the text of the note.
  • Add a search bar to the notes list view to allow the user to search for specific notes.
  • Allow rearranging notes in the notes list.

Covered Concepts

This challenge is intended to assess your ability to build applications that make use of simple UITableViews, exhibit proper Model View Controller (MVC) architecture, and are built using Storyboards, segues, persist data using UserDefaults, etc. It covers the following concepts taught in Unit 1:

  • Basic Model View Controller architecture
  • The role and use of UIViewController
  • The role and use of UINavigationController
  • Use of IBOutlets
  • Use of IBActions
  • Implementation of UITableViewDataSource and UITableViewDelegate
  • Creation of custom model classes
  • Data persistence using UserDefaults
  • Conversion of custom model objects to dictionaries and vice versa
  • Basic model controller design and implementation
  • Use of the singleton/shared instance design pattern

Note: You may not copy and paste code from previous projects.

You will have 3 hours and 30 minutes to complete this challenge.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Swift 100.0%