welcome to cs193pweb.stanford.edu/class/cs193p/cgi-bin/drupal/system/... · 2020. 9. 13. ·...

73
Welcome to CS193P iPhone Application Development Alan Cannistraro [email protected] Josh Shaffer [email protected] 1 Tuesday, January 5, 2010

Upload: others

Post on 18-Sep-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Welcome to CS193Pweb.stanford.edu/class/cs193p/cgi-bin/drupal/system/... · 2020. 9. 13. · Assignments may be completed using the iPhone Simulator ... Feedback and suggestions are

Welcome to CS193PiPhone Application Development

Alan [email protected]

Josh [email protected]

1Tuesday, January 5, 2010

Page 2: Welcome to CS193Pweb.stanford.edu/class/cs193p/cgi-bin/drupal/system/... · 2020. 9. 13. · Assignments may be completed using the iPhone Simulator ... Feedback and suggestions are

Introductions

• Lecturers■ Alan Cannistraro <[email protected]>■ Josh Shaffer <[email protected]>

• Student TAs■ Paul Salzman <[email protected]>■ David Jacobs <[email protected]>

• Grand-Master Chief■ Paul Marcos <[email protected]>

2Tuesday, January 5, 2010

Page 3: Welcome to CS193Pweb.stanford.edu/class/cs193p/cgi-bin/drupal/system/... · 2020. 9. 13. · Assignments may be completed using the iPhone Simulator ... Feedback and suggestions are

Quick Survey

3Tuesday, January 5, 2010

Page 4: Welcome to CS193Pweb.stanford.edu/class/cs193p/cgi-bin/drupal/system/... · 2020. 9. 13. · Assignments may be completed using the iPhone Simulator ... Feedback and suggestions are

Quick Survey• Have worked with Object Oriented Programming??

3Tuesday, January 5, 2010

Page 5: Welcome to CS193Pweb.stanford.edu/class/cs193p/cgi-bin/drupal/system/... · 2020. 9. 13. · Assignments may be completed using the iPhone Simulator ... Feedback and suggestions are

Quick Survey• Have worked with Object Oriented Programming??• Have developed apps for Mac OS X?

3Tuesday, January 5, 2010

Page 6: Welcome to CS193Pweb.stanford.edu/class/cs193p/cgi-bin/drupal/system/... · 2020. 9. 13. · Assignments may be completed using the iPhone Simulator ... Feedback and suggestions are

Quick Survey• Have worked with Object Oriented Programming??• Have developed apps for Mac OS X?• Have installed the iPhone SDK and done iPhone

development?

3Tuesday, January 5, 2010

Page 7: Welcome to CS193Pweb.stanford.edu/class/cs193p/cgi-bin/drupal/system/... · 2020. 9. 13. · Assignments may be completed using the iPhone Simulator ... Feedback and suggestions are

Quick Survey• Have worked with Object Oriented Programming??• Have developed apps for Mac OS X?• Have installed the iPhone SDK and done iPhone

development?• Have submitted apps to the App Store?

3Tuesday, January 5, 2010

Page 8: Welcome to CS193Pweb.stanford.edu/class/cs193p/cgi-bin/drupal/system/... · 2020. 9. 13. · Assignments may be completed using the iPhone Simulator ... Feedback and suggestions are

Logistics

4Tuesday, January 5, 2010

Page 9: Welcome to CS193Pweb.stanford.edu/class/cs193p/cgi-bin/drupal/system/... · 2020. 9. 13. · Assignments may be completed using the iPhone Simulator ... Feedback and suggestions are

Logistics• Lectures:

■ Education 128■ Tuesday & Thursday 4:15 - 5:30 PM

4Tuesday, January 5, 2010

Page 10: Welcome to CS193Pweb.stanford.edu/class/cs193p/cgi-bin/drupal/system/... · 2020. 9. 13. · Assignments may be completed using the iPhone Simulator ... Feedback and suggestions are

Logistics• Lectures:

■ Education 128■ Tuesday & Thursday 4:15 - 5:30 PM

• Optional Section■ Room & Time - TBD■ Guest speakers & hot topics

4Tuesday, January 5, 2010

Page 11: Welcome to CS193Pweb.stanford.edu/class/cs193p/cgi-bin/drupal/system/... · 2020. 9. 13. · Assignments may be completed using the iPhone Simulator ... Feedback and suggestions are

Logistics• Lectures:

■ Education 128■ Tuesday & Thursday 4:15 - 5:30 PM

• Optional Section■ Room & Time - TBD■ Guest speakers & hot topics

• Office Hours■ Paul & David will hold office hours■ See website for details

4Tuesday, January 5, 2010

Page 12: Welcome to CS193Pweb.stanford.edu/class/cs193p/cgi-bin/drupal/system/... · 2020. 9. 13. · Assignments may be completed using the iPhone Simulator ... Feedback and suggestions are

Requirements• Prerequisite: CS 106B/X

• Recommended Book: None! We’ll use Apple documentation

• Required Hardware & Software:■ Intel-based Macintosh, running Mac OS X 10.5 Leopard■ iPhone SDK (not currently available on cluster computers)

• iPhone or iPod touch is not required■ Assignments may be completed using the iPhone Simulator■ Loaner iPod touches will be available

5Tuesday, January 5, 2010

Page 13: Welcome to CS193Pweb.stanford.edu/class/cs193p/cgi-bin/drupal/system/... · 2020. 9. 13. · Assignments may be completed using the iPhone Simulator ... Feedback and suggestions are

Enrollment

6Tuesday, January 5, 2010

Page 14: Welcome to CS193Pweb.stanford.edu/class/cs193p/cgi-bin/drupal/system/... · 2020. 9. 13. · Assignments may be completed using the iPhone Simulator ... Feedback and suggestions are

Enrollment• Response has been phenomenal (again)!

■ Enrollment limited to 60 students■ 40 Graded, 20 Pass/No Credit

6Tuesday, January 5, 2010

Page 15: Welcome to CS193Pweb.stanford.edu/class/cs193p/cgi-bin/drupal/system/... · 2020. 9. 13. · Assignments may be completed using the iPhone Simulator ... Feedback and suggestions are

Enrollment• Response has been phenomenal (again)!

■ Enrollment limited to 60 students■ 40 Graded, 20 Pass/No Credit

6Tuesday, January 5, 2010

Page 16: Welcome to CS193Pweb.stanford.edu/class/cs193p/cgi-bin/drupal/system/... · 2020. 9. 13. · Assignments may be completed using the iPhone Simulator ... Feedback and suggestions are

Enrollment• Response has been phenomenal (again)!

■ Enrollment limited to 60 students■ 40 Graded, 20 Pass/No Credit

• You MUST fill out a survey to be considered■ http://tinyurl.com/cs193p-2010■ Need to be completed by noon tomorrow (1/6)

6Tuesday, January 5, 2010

Page 17: Welcome to CS193Pweb.stanford.edu/class/cs193p/cgi-bin/drupal/system/... · 2020. 9. 13. · Assignments may be completed using the iPhone Simulator ... Feedback and suggestions are

Enrollment• Response has been phenomenal (again)!

■ Enrollment limited to 60 students■ 40 Graded, 20 Pass/No Credit

• You MUST fill out a survey to be considered■ http://tinyurl.com/cs193p-2010■ Need to be completed by noon tomorrow (1/6)

6Tuesday, January 5, 2010

Page 18: Welcome to CS193Pweb.stanford.edu/class/cs193p/cgi-bin/drupal/system/... · 2020. 9. 13. · Assignments may be completed using the iPhone Simulator ... Feedback and suggestions are

Enrollment• Response has been phenomenal (again)!

■ Enrollment limited to 60 students■ 40 Graded, 20 Pass/No Credit

• You MUST fill out a survey to be considered■ http://tinyurl.com/cs193p-2010■ Need to be completed by noon tomorrow (1/6)

• Enrollment will be determined based on prior CS courses, other relevant experience, number of quarters remaining, major

6Tuesday, January 5, 2010

Page 19: Welcome to CS193Pweb.stanford.edu/class/cs193p/cgi-bin/drupal/system/... · 2020. 9. 13. · Assignments may be completed using the iPhone Simulator ... Feedback and suggestions are

Enrollment• Response has been phenomenal (again)!

■ Enrollment limited to 60 students■ 40 Graded, 20 Pass/No Credit

• You MUST fill out a survey to be considered■ http://tinyurl.com/cs193p-2010■ Need to be completed by noon tomorrow (1/6)

• Enrollment will be determined based on prior CS courses, other relevant experience, number of quarters remaining, major

6Tuesday, January 5, 2010

Page 20: Welcome to CS193Pweb.stanford.edu/class/cs193p/cgi-bin/drupal/system/... · 2020. 9. 13. · Assignments may be completed using the iPhone Simulator ... Feedback and suggestions are

Enrollment• Response has been phenomenal (again)!

■ Enrollment limited to 60 students■ 40 Graded, 20 Pass/No Credit

• You MUST fill out a survey to be considered■ http://tinyurl.com/cs193p-2010■ Need to be completed by noon tomorrow (1/6)

• Enrollment will be determined based on prior CS courses, other relevant experience, number of quarters remaining, major

• Auditors welcome!

6Tuesday, January 5, 2010

Page 21: Welcome to CS193Pweb.stanford.edu/class/cs193p/cgi-bin/drupal/system/... · 2020. 9. 13. · Assignments may be completed using the iPhone Simulator ... Feedback and suggestions are

iPhone Developer University Program• Stanford is part of the iPhone Developer University Program

■ Do not sign up for this!

• Free on-device development for students (save $99!)■ Valid through the end of the quarter■ Invites will be issued to your @stanford.edu email address■ Read through a Student Agreement to get started

7Tuesday, January 5, 2010

Page 22: Welcome to CS193Pweb.stanford.edu/class/cs193p/cgi-bin/drupal/system/... · 2020. 9. 13. · Assignments may be completed using the iPhone Simulator ... Feedback and suggestions are

Available on iTunes U

8Tuesday, January 5, 2010

Page 23: Welcome to CS193Pweb.stanford.edu/class/cs193p/cgi-bin/drupal/system/... · 2020. 9. 13. · Assignments may be completed using the iPhone Simulator ... Feedback and suggestions are

CS193P on iTunes U

For enrolled students at Stanford■ Your voice may be recorded■ Not a substitute for attending lectures■ There will be a delay of a few days before lectures and materials

are available

9Tuesday, January 5, 2010

Page 24: Welcome to CS193Pweb.stanford.edu/class/cs193p/cgi-bin/drupal/system/... · 2020. 9. 13. · Assignments may be completed using the iPhone Simulator ... Feedback and suggestions are

CS193P on iTunes U

For viewers on iTunes U:■ Welcome to Stanford!■ Feedback and suggestions are welcome■ We can’t answer individual questions via email■ Download materials now, if you want them later!

10Tuesday, January 5, 2010

Page 25: Welcome to CS193Pweb.stanford.edu/class/cs193p/cgi-bin/drupal/system/... · 2020. 9. 13. · Assignments may be completed using the iPhone Simulator ... Feedback and suggestions are

Communication and Materials• Email

[email protected]■ Questions from enrolled students only, please!

• Course web site■ http://cs193p.stanford.edu

• Other web sites■ Apple Dev Center: http://developer.apple.com■ Developer Forums: http://devforums.apple.com■ External resources:

■ http://cs193p.com■ http://groups.google.com/group/iphone-appdev-auditors/

11Tuesday, January 5, 2010

Page 26: Welcome to CS193Pweb.stanford.edu/class/cs193p/cgi-bin/drupal/system/... · 2020. 9. 13. · Assignments may be completed using the iPhone Simulator ... Feedback and suggestions are

Communication and Materials• Auditors

[email protected]■ Self-add email list■ Low volume, but allows us to communicate with all folks

following along■ To sign up, go to:

■ http://lists.stanford.edu■ https://mailman.stanford.edu/mailman/listinfo/cs193p-auditors

12Tuesday, January 5, 2010

Page 27: Welcome to CS193Pweb.stanford.edu/class/cs193p/cgi-bin/drupal/system/... · 2020. 9. 13. · Assignments may be completed using the iPhone Simulator ... Feedback and suggestions are

Why Are We Here?

To build iPhone & iPod touch applications using Cocoa Touch

13Tuesday, January 5, 2010

Page 28: Welcome to CS193Pweb.stanford.edu/class/cs193p/cgi-bin/drupal/system/... · 2020. 9. 13. · Assignments may be completed using the iPhone Simulator ... Feedback and suggestions are

Why Are We Here?• CS193P is not just about the iPhone, Cocoa Touch or ObjC

• It’s about Software Engineering, as well as object oriented architecture and design

• Exposure to problems and solutions that you might not see in other classes

14Tuesday, January 5, 2010

Page 29: Welcome to CS193Pweb.stanford.edu/class/cs193p/cgi-bin/drupal/system/... · 2020. 9. 13. · Assignments may be completed using the iPhone Simulator ... Feedback and suggestions are

Cocoa Touch & iPhone SDK

15Tuesday, January 5, 2010

Page 30: Welcome to CS193Pweb.stanford.edu/class/cs193p/cgi-bin/drupal/system/... · 2020. 9. 13. · Assignments may be completed using the iPhone Simulator ... Feedback and suggestions are

Cocoa Touch & iPhone SDK• Based on Cocoa

■ Mature, polished, highly consistent APIs

• Provides a very rich starting point for exploring app design

• Shows “real-world” implementations of OO design patterns

• Designs learned on iPhone translate directly to Mac OS X

15Tuesday, January 5, 2010

Page 31: Welcome to CS193Pweb.stanford.edu/class/cs193p/cgi-bin/drupal/system/... · 2020. 9. 13. · Assignments may be completed using the iPhone Simulator ... Feedback and suggestions are

Things We’ll Cover

16Tuesday, January 5, 2010

Page 32: Welcome to CS193Pweb.stanford.edu/class/cs193p/cgi-bin/drupal/system/... · 2020. 9. 13. · Assignments may be completed using the iPhone Simulator ... Feedback and suggestions are

Tools

Language (& Runtime)

Frameworks

17Tuesday, January 5, 2010

Page 33: Welcome to CS193Pweb.stanford.edu/class/cs193p/cgi-bin/drupal/system/... · 2020. 9. 13. · Assignments may be completed using the iPhone Simulator ... Feedback and suggestions are

Xcode Interface BuilderTools

Language (& Runtime)

Frameworks

17Tuesday, January 5, 2010

Page 34: Welcome to CS193Pweb.stanford.edu/class/cs193p/cgi-bin/drupal/system/... · 2020. 9. 13. · Assignments may be completed using the iPhone Simulator ... Feedback and suggestions are

Xcode Interface BuilderTools

Language (& Runtime)

Frameworks

Foundation UIKit

17Tuesday, January 5, 2010

Page 35: Welcome to CS193Pweb.stanford.edu/class/cs193p/cgi-bin/drupal/system/... · 2020. 9. 13. · Assignments may be completed using the iPhone Simulator ... Feedback and suggestions are

Xcode Interface BuilderTools

Language (& Runtime) Objective-C

[textView setStringValue: @“Hello”];

Frameworks

Foundation UIKit

17Tuesday, January 5, 2010

Page 36: Welcome to CS193Pweb.stanford.edu/class/cs193p/cgi-bin/drupal/system/... · 2020. 9. 13. · Assignments may be completed using the iPhone Simulator ... Feedback and suggestions are

Why Objective-C?• Exposure to other languages is always good• ObjC is a language focused on simplicity and the elegance of

OO design■ Based on ANSI C■ Brings many object oriented principles, but with a minimal

amount of syntax

• A data point to compare with designs of C, C++ and Java

18Tuesday, January 5, 2010

Page 37: Welcome to CS193Pweb.stanford.edu/class/cs193p/cgi-bin/drupal/system/... · 2020. 9. 13. · Assignments may be completed using the iPhone Simulator ... Feedback and suggestions are

Assignments, Grading & Late Policy• 7 weekly assignments• Final project of your choice

■ End of quarter demos at Apple...

• Grading: Nice & simple: ✓, ✓+ and ✓-• Late Policy: 3 late days, use them wisely!

19Tuesday, January 5, 2010

Page 38: Welcome to CS193Pweb.stanford.edu/class/cs193p/cgi-bin/drupal/system/... · 2020. 9. 13. · Assignments may be completed using the iPhone Simulator ... Feedback and suggestions are

Applications You Will Build

HelloStanford & Obj-C Tool

HelloPoly - 2 weeks

Paparazzi - 4 weeks

Final Project (your choice) - 3 weeks

20Tuesday, January 5, 2010

Page 39: Welcome to CS193Pweb.stanford.edu/class/cs193p/cgi-bin/drupal/system/... · 2020. 9. 13. · Assignments may be completed using the iPhone Simulator ... Feedback and suggestions are

First Assignment• First assignment handed out today, in two parts• Intended to get you situated with tools and start off with Obj-C• Includes a comprehensive walkthrough• We suggest trying to do the first half before Thursday to help

work out any tools or installation issues• Due on Jan 13 (next Wednesday)

21Tuesday, January 5, 2010

Page 40: Welcome to CS193Pweb.stanford.edu/class/cs193p/cgi-bin/drupal/system/... · 2020. 9. 13. · Assignments may be completed using the iPhone Simulator ... Feedback and suggestions are

Paparazzi• Build a fully functional application from scratch over 4 weeks

• Access photos on

• Each assignment builds on the previous one■ Don’t fall behind!

• Covers a wide variety of topics in the UIKit framework...

22Tuesday, January 5, 2010

Page 41: Welcome to CS193Pweb.stanford.edu/class/cs193p/cgi-bin/drupal/system/... · 2020. 9. 13. · Assignments may be completed using the iPhone Simulator ... Feedback and suggestions are

What We’ll Cover• Application design patterns• View controllers• Presenting data

■ Table views

• Loading & saving data■ Property lists, Core Data, web services

• Text input• Threading and Performance• Address Book and other system integration• iPhone SDK 3.0 stuff!

■ MapKit, Video & Photo APIs, & more

23Tuesday, January 5, 2010

Page 42: Welcome to CS193Pweb.stanford.edu/class/cs193p/cgi-bin/drupal/system/... · 2020. 9. 13. · Assignments may be completed using the iPhone Simulator ... Feedback and suggestions are

Final Projects• 3 weeks to work on them• By yourself or with a partner• It’s never too early to think of something and propose it to us• Categories to consider:

■ Student life apps■ Educational tools■ Games■ Social / location-aware software

• Find a project that you or your friends would actually like to use!

• Post it on the app store? • http://www.stanfordiphoneclassapps.com

24Tuesday, January 5, 2010

Page 43: Welcome to CS193Pweb.stanford.edu/class/cs193p/cgi-bin/drupal/system/... · 2020. 9. 13. · Assignments may be completed using the iPhone Simulator ... Feedback and suggestions are

Questions?

25Tuesday, January 5, 2010

Page 44: Welcome to CS193Pweb.stanford.edu/class/cs193p/cgi-bin/drupal/system/... · 2020. 9. 13. · Assignments may be completed using the iPhone Simulator ... Feedback and suggestions are

iPhone OS Overview

26Tuesday, January 5, 2010

Page 45: Welcome to CS193Pweb.stanford.edu/class/cs193p/cgi-bin/drupal/system/... · 2020. 9. 13. · Assignments may be completed using the iPhone Simulator ... Feedback and suggestions are

iPhone

27Tuesday, January 5, 2010

Page 46: Welcome to CS193Pweb.stanford.edu/class/cs193p/cgi-bin/drupal/system/... · 2020. 9. 13. · Assignments may be completed using the iPhone Simulator ... Feedback and suggestions are

Mac OS X

27Tuesday, January 5, 2010

Page 47: Welcome to CS193Pweb.stanford.edu/class/cs193p/cgi-bin/drupal/system/... · 2020. 9. 13. · Assignments may be completed using the iPhone Simulator ... Feedback and suggestions are

Media

Core Services

Core OS

Cocoa

Mac OS X

27Tuesday, January 5, 2010

Page 48: Welcome to CS193Pweb.stanford.edu/class/cs193p/cgi-bin/drupal/system/... · 2020. 9. 13. · Assignments may be completed using the iPhone Simulator ... Feedback and suggestions are

Media

Core Services

Core OS

Cocoa

27Tuesday, January 5, 2010

Page 49: Welcome to CS193Pweb.stanford.edu/class/cs193p/cgi-bin/drupal/system/... · 2020. 9. 13. · Assignments may be completed using the iPhone Simulator ... Feedback and suggestions are

Media

Core Services

Core OS

Cocoa Touch

27Tuesday, January 5, 2010

Page 50: Welcome to CS193Pweb.stanford.edu/class/cs193p/cgi-bin/drupal/system/... · 2020. 9. 13. · Assignments may be completed using the iPhone Simulator ... Feedback and suggestions are

Media

Core Services

Core OS

Cocoa Touch

iPhone OS

27Tuesday, January 5, 2010

Page 51: Welcome to CS193Pweb.stanford.edu/class/cs193p/cgi-bin/drupal/system/... · 2020. 9. 13. · Assignments may be completed using the iPhone Simulator ... Feedback and suggestions are

Media

Core Services

Core OS

Cocoa Touch

iPhone OS

28Tuesday, January 5, 2010

Page 52: Welcome to CS193Pweb.stanford.edu/class/cs193p/cgi-bin/drupal/system/... · 2020. 9. 13. · Assignments may be completed using the iPhone Simulator ... Feedback and suggestions are

Media

Core Services

Core OS

Cocoa Touch

iPhone OS Core OS

OS X Kernel Power Mgmt

Mach 3.0 Keychain

BSD Certificates

Sockets File System

Security Bonjour

28Tuesday, January 5, 2010

Page 53: Welcome to CS193Pweb.stanford.edu/class/cs193p/cgi-bin/drupal/system/... · 2020. 9. 13. · Assignments may be completed using the iPhone Simulator ... Feedback and suggestions are

Core Services

Collections Core Location

Address Book Net Services

Networking Threading

File Access Preferences

SQLite URL utilities

Media

Core Services

Core OS

Cocoa Touch

iPhone OS

28Tuesday, January 5, 2010

Page 54: Welcome to CS193Pweb.stanford.edu/class/cs193p/cgi-bin/drupal/system/... · 2020. 9. 13. · Assignments may be completed using the iPhone Simulator ... Feedback and suggestions are

Media

Core Audio JPG, PNG, TIFF

OpenAL PDF

Audio Mixing Quartz (2D)

Audio Recording Core Animation

Video Playback OpenGL ES

Media

Core Services

Core OS

Cocoa Touch

iPhone OS

28Tuesday, January 5, 2010

Page 55: Welcome to CS193Pweb.stanford.edu/class/cs193p/cgi-bin/drupal/system/... · 2020. 9. 13. · Assignments may be completed using the iPhone Simulator ... Feedback and suggestions are

Cocoa Touch

Multi-Touch Events Alerts

Multi-Touch Controls Web View

Accelerometer People Picker

View Hierarchy Image Picker

Localization Camera

Media

Core Services

Core OS

Cocoa Touch

iPhone OS

28Tuesday, January 5, 2010

Page 56: Welcome to CS193Pweb.stanford.edu/class/cs193p/cgi-bin/drupal/system/... · 2020. 9. 13. · Assignments may be completed using the iPhone Simulator ... Feedback and suggestions are

Media

Core Services

Core OS

Cocoa Touch

iPhone OS

28Tuesday, January 5, 2010

Page 57: Welcome to CS193Pweb.stanford.edu/class/cs193p/cgi-bin/drupal/system/... · 2020. 9. 13. · Assignments may be completed using the iPhone Simulator ... Feedback and suggestions are

Xcode Interface BuilderTools

Language (& Runtime) Objective-C

[textView setStringValue: @“Hello”];

Frameworks

Foundation UIKit

29Tuesday, January 5, 2010

Page 58: Welcome to CS193Pweb.stanford.edu/class/cs193p/cgi-bin/drupal/system/... · 2020. 9. 13. · Assignments may be completed using the iPhone Simulator ... Feedback and suggestions are

Cocoa Touch Architecture

Cocoa Touch

UIKit User interface elementsApplication runtimeEvent handlingHardware APIs

Foundation Utility classesCollection classesObject wrappers for system servicesSubset of Foundation in Cocoa

30Tuesday, January 5, 2010

Page 59: Welcome to CS193Pweb.stanford.edu/class/cs193p/cgi-bin/drupal/system/... · 2020. 9. 13. · Assignments may be completed using the iPhone Simulator ... Feedback and suggestions are

Objects

31Tuesday, January 5, 2010

Page 60: Welcome to CS193Pweb.stanford.edu/class/cs193p/cgi-bin/drupal/system/... · 2020. 9. 13. · Assignments may be completed using the iPhone Simulator ... Feedback and suggestions are

Thing

Object

32Tuesday, January 5, 2010

Page 61: Welcome to CS193Pweb.stanford.edu/class/cs193p/cgi-bin/drupal/system/... · 2020. 9. 13. · Assignments may be completed using the iPhone Simulator ... Feedback and suggestions are

Thing

doSomething

Behavior

behavior

33Tuesday, January 5, 2010

Page 62: Welcome to CS193Pweb.stanford.edu/class/cs193p/cgi-bin/drupal/system/... · 2020. 9. 13. · Assignments may be completed using the iPhone Simulator ... Feedback and suggestions are

Thing

doSomething

Message

"doSomething"

34Tuesday, January 5, 2010

Page 63: Welcome to CS193Pweb.stanford.edu/class/cs193p/cgi-bin/drupal/system/... · 2020. 9. 13. · Assignments may be completed using the iPhone Simulator ... Feedback and suggestions are

Thingflagcount

doSomething

State

state

behavior

35Tuesday, January 5, 2010

Page 64: Welcome to CS193Pweb.stanford.edu/class/cs193p/cgi-bin/drupal/system/... · 2020. 9. 13. · Assignments may be completed using the iPhone Simulator ... Feedback and suggestions are

Thingflagcount

doSomething

Other Objects As State

state

behavior

36Tuesday, January 5, 2010

Page 65: Welcome to CS193Pweb.stanford.edu/class/cs193p/cgi-bin/drupal/system/... · 2020. 9. 13. · Assignments may be completed using the iPhone Simulator ... Feedback and suggestions are

Thingflagcount

doSomething

Other Objects As State

state

doSomethingElsebehavior

36Tuesday, January 5, 2010

Page 66: Welcome to CS193Pweb.stanford.edu/class/cs193p/cgi-bin/drupal/system/... · 2020. 9. 13. · Assignments may be completed using the iPhone Simulator ... Feedback and suggestions are

Thingflagcount

doSomething

Other Objects As State

helperstate

doSomethingElsebehavior

36Tuesday, January 5, 2010

Page 67: Welcome to CS193Pweb.stanford.edu/class/cs193p/cgi-bin/drupal/system/... · 2020. 9. 13. · Assignments may be completed using the iPhone Simulator ... Feedback and suggestions are

Thingflagcount

doSomething

Other Objects As State

helperstate

doSomethingElse

Other Thing

performDifficultTask

behavior

36Tuesday, January 5, 2010

Page 68: Welcome to CS193Pweb.stanford.edu/class/cs193p/cgi-bin/drupal/system/... · 2020. 9. 13. · Assignments may be completed using the iPhone Simulator ... Feedback and suggestions are

Controllersliderlabel

updateLabel

Outlets Need to decide what the demo would be and update slide to appropriate material.

- text field / slider?

- color tabs?

Need to decide what the demo would be and update slide to appropriate material.

- text field / slider?

- color tabs?

37Tuesday, January 5, 2010

Page 69: Welcome to CS193Pweb.stanford.edu/class/cs193p/cgi-bin/drupal/system/... · 2020. 9. 13. · Assignments may be completed using the iPhone Simulator ... Feedback and suggestions are

Controllersliderlabel

updateLabel

Target / Action

targetaction ʻupdateLabelʼ

38Tuesday, January 5, 2010

Page 70: Welcome to CS193Pweb.stanford.edu/class/cs193p/cgi-bin/drupal/system/... · 2020. 9. 13. · Assignments may be completed using the iPhone Simulator ... Feedback and suggestions are

Demo

39Tuesday, January 5, 2010

Page 71: Welcome to CS193Pweb.stanford.edu/class/cs193p/cgi-bin/drupal/system/... · 2020. 9. 13. · Assignments may be completed using the iPhone Simulator ... Feedback and suggestions are

Outlets

Controllersliderlabel

updateLabel

40Tuesday, January 5, 2010

Page 72: Welcome to CS193Pweb.stanford.edu/class/cs193p/cgi-bin/drupal/system/... · 2020. 9. 13. · Assignments may be completed using the iPhone Simulator ... Feedback and suggestions are

Target / Action

Controllersliderlabel

updateLabel

targetaction ʻupdateLabelʼ

41Tuesday, January 5, 2010

Page 73: Welcome to CS193Pweb.stanford.edu/class/cs193p/cgi-bin/drupal/system/... · 2020. 9. 13. · Assignments may be completed using the iPhone Simulator ... Feedback and suggestions are

Questions?

42Tuesday, January 5, 2010