Module Outline

Use the following resources and work with your mentor to master the objectives for this module. Practice by completing the Mini-Project, Project, and Challenges.

Lesson Video

Preclass Videos

Video Challenges

  • Baby Clouds

    Practice your new CloudKit skills by creating a new app from scratch that saves one string to CloudKit.

    • Create a new project
    • Add CloudKit to the project
    • Create a view with a text field and a save button
    • Create a CloudKitController (or even better, reuse the one you built during the group demo)
    • Save the text field's text to CloudKit when the save button is tapped
    • Load the text from CloudKit and set the text of the label when the view loads

Stretch Problem

    Hashtag Search

    Hashtag support

    • Build a Restaurant model object with name, streetAddress, city, state, and reviews properties.
    • Build a Review model object with a username and text property.
    • Instantiate an array of Restaurant and Review objects. Make sure that each Restaurant object holds an array of reviews. Add hashtags to some of your reviews or restaruant descriptions. (Use Yelp or Google to help you come up with Restaurants and Reviews)
    • Add a hashtags computed property to the Restaurant object that returns an array of any hashtags in the Restaurant or Review.
    • Check your computed property by printing a list of hashtags of each review and restaurant.

    Search

    • Add a SearchableObject protocol with one function matchesSearchTerm(searchTerm: String).
    • Implement the function on both model objects.
    • Demonstrate your search by printing a list of Restaurants that match a variety of search terms.

Guided Project

    Bulletin Board

    Simple project teaching CloudKit concepts and APIs including fetching, saving, and subscriptions.

Project

  • Timeline

    Timeline is a simple photo sharing service. Students will bring in many concepts that they have learned, and add complex data modeling, Image Picker, Collection Views, NSURLSession, Firebase, and protocol-oriented programming,

    This is a Capstone Level project spanning many class days and concepts. Most concepts will be covered during class, others are introduced during the project. Not every instruction will outline each line of code to write, but lead the student to the solution.

    ReadMe

Mastery Review

Module 21 - CloudKit I - CKContainer, CKRecord, CKAsset, CKQuery
  • Expand all
  • Collapse all
  • Hashtag Search stretch problem
  • Challenges
    • Baby Clouds objective challenge
  • Bulletin Board guided project