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.
Required Preclass Resources
Lesson Video
Preclass Videos
-
iOS Cohort - Spencer Curtis
Intro to CloudKit
-
WWDC 2014 Cohort - Apple
Introducing CloudKit
-
iOS6 Cohort - Caleb Hicks
CloudKit Introduction
-
iOS5 Cohort - Taylor Mott
CloudKit Introduction
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
- Build a
Restaurant
model object withname
,streetAddress
,city
,state
, andreviews
properties. - Build a
Review
model object with ausername
andtext
property. - Instantiate an array of
Restaurant
andReview
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 theRestaurant
object that returns an array of any hashtags in theRestaurant
orReview
. - Check your computed property by printing a list of hashtags of each review and restaurant.
- Add a
SearchableObject
protocol with one functionmatchesSearchTerm(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.
Hashtag Search
Hashtag support
Search
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
- Hashtag Search stretch problem
- Challenges
- Baby Clouds objective challenge
- Bulletin Board guided project