6. WHAT IS THE IOS?
Based on a work at cs193p.stanford.edu
7. iOS
Core OS
Cocoa Touch
OSX Kernel Power Management
Media Mach 3.0 Keychain Access
BSD Certificates
Core Services
Sockets File System
Core OS Security Bonjour
Based on a work at cs193p.stanford.edu
8. iOS
Core Services
Cocoa Touch
Collections Core Location
Media Address Book Net Services
Networking Threading
Core Services
File Access Preferences
Core OS SQLite URL Utilities
Based on a work at cs193p.stanford.edu
9. iOS
Media
Cocoa Touch
Core Audio JPEG, PNG, TIFF
Media OpenAL PDF
Audio Mixing Quartz (2D)
Core Services
Audio Recording Core Animation
Core OS Video Playback OpenGL ES
Based on a work at cs193p.stanford.edu
10. iOS
Cocoa Touch
Cocoa Touch
Multi-Touch Alerts
Media Core Motion Web View
View Hierarchy Map Kit
Core Services
Localization Image Picker
Core OS Controls Camera
Based on a work at cs193p.stanford.edu
18. COMPONENTS
• iOS SDK (requires an Intel Mac)
• Frameworks: Foundation, UIKit,...
• MVC
• Language: Objective-C
• Tools: XCode, iOS Simulator, Instruments
• Apple Developer Program
19. MVC
MVC
Controller
Model View
It’s all about managing communication between camps St
C
Based on a work at cs193p.stanford.edu Fa
20. MVC: CONTROLLER
MVC
Controller
outlet
Model View
Controllers can also talk directly to their View. St
C
Based on a work at cs193p.stanford.edu Fal
21. MVC: VIEW
MVC
should target
will did
Controller
data
count
outlet
at
da
de
ta
le
g
so
at
u action
e
rc
e
Model View
No. The Model is (should be) UI independent. St
C
Based on a work at cs193p.stanford.edu Fal
22. MVC: MODEL
MVC
should target
will did
Controller
data
count
outlet
at
da
de
Notification
ta
le
& KVO
g
so
at
u action
e
rc
e
Model View
Now combine MVC groups to make complicated programs ... St
C
Based on a work at cs193p.stanford.edu Fal
30. HELLO IPHONE MVC
MVC
HelloiPhoneViewController target
Controller
outlet
X
action
myButtonPushed
Model View
UISlider
UILabel UIButton
Then hand out an action to the View. Sta
CS
Based on a work at cs193p.stanford.edu Fall