IStarted- And You Can Too! A Beginner’s Guide to iOS Programming.
-
date post
15-Jan-2016 -
Category
Documents
-
view
219 -
download
0
Transcript of IStarted- And You Can Too! A Beginner’s Guide to iOS Programming.
![Page 1: IStarted- And You Can Too! A Beginner’s Guide to iOS Programming.](https://reader035.fdocuments.us/reader035/viewer/2022062322/56649d495503460f94a24c00/html5/thumbnails/1.jpg)
iStarted- And You Can Too!
A Beginner’s Guide to iOS Programming
![Page 2: IStarted- And You Can Too! A Beginner’s Guide to iOS Programming.](https://reader035.fdocuments.us/reader035/viewer/2022062322/56649d495503460f94a24c00/html5/thumbnails/2.jpg)
Teaser, not a Tutorial
![Page 3: IStarted- And You Can Too! A Beginner’s Guide to iOS Programming.](https://reader035.fdocuments.us/reader035/viewer/2022062322/56649d495503460f94a24c00/html5/thumbnails/3.jpg)
Prerequisites
![Page 4: IStarted- And You Can Too! A Beginner’s Guide to iOS Programming.](https://reader035.fdocuments.us/reader035/viewer/2022062322/56649d495503460f94a24c00/html5/thumbnails/4.jpg)
Think DifferentDress the Same
![Page 5: IStarted- And You Can Too! A Beginner’s Guide to iOS Programming.](https://reader035.fdocuments.us/reader035/viewer/2022062322/56649d495503460f94a24c00/html5/thumbnails/5.jpg)
1. The Uniform
![Page 6: IStarted- And You Can Too! A Beginner’s Guide to iOS Programming.](https://reader035.fdocuments.us/reader035/viewer/2022062322/56649d495503460f94a24c00/html5/thumbnails/6.jpg)
![Page 7: IStarted- And You Can Too! A Beginner’s Guide to iOS Programming.](https://reader035.fdocuments.us/reader035/viewer/2022062322/56649d495503460f94a24c00/html5/thumbnails/7.jpg)
2. The Computer
Mac Mini $599
![Page 8: IStarted- And You Can Too! A Beginner’s Guide to iOS Programming.](https://reader035.fdocuments.us/reader035/viewer/2022062322/56649d495503460f94a24c00/html5/thumbnails/8.jpg)
3. The Developmen
t EnvironmentRegister as a Developer
FREE
Download XCode from Mac App Store FREE
Download Esri iOS SDK FREE
![Page 9: IStarted- And You Can Too! A Beginner’s Guide to iOS Programming.](https://reader035.fdocuments.us/reader035/viewer/2022062322/56649d495503460f94a24c00/html5/thumbnails/9.jpg)
4. The Toys
iPhone 4S $199iPad 2 $499
Developer license* $99/year
![Page 10: IStarted- And You Can Too! A Beginner’s Guide to iOS Programming.](https://reader035.fdocuments.us/reader035/viewer/2022062322/56649d495503460f94a24c00/html5/thumbnails/10.jpg)
5. The Help
iOS Programming: The Big Nerd Ranch Guide (2nd
Ed.) $30.42
Objective-C Programming $22.63
Whitepapers, Tutorials, Videos FREE
![Page 11: IStarted- And You Can Too! A Beginner’s Guide to iOS Programming.](https://reader035.fdocuments.us/reader035/viewer/2022062322/56649d495503460f94a24c00/html5/thumbnails/11.jpg)
$153 - $950(Not Counting the Clothes)
![Page 12: IStarted- And You Can Too! A Beginner’s Guide to iOS Programming.](https://reader035.fdocuments.us/reader035/viewer/2022062322/56649d495503460f94a24c00/html5/thumbnails/12.jpg)
Objective C
![Page 13: IStarted- And You Can Too! A Beginner’s Guide to iOS Programming.](https://reader035.fdocuments.us/reader035/viewer/2022062322/56649d495503460f94a24c00/html5/thumbnails/13.jpg)
![Page 14: IStarted- And You Can Too! A Beginner’s Guide to iOS Programming.](https://reader035.fdocuments.us/reader035/viewer/2022062322/56649d495503460f94a24c00/html5/thumbnails/14.jpg)
Data types
Expressions
Program Control
Preprocessor
Separate header files
![Page 15: IStarted- And You Can Too! A Beginner’s Guide to iOS Programming.](https://reader035.fdocuments.us/reader035/viewer/2022062322/56649d495503460f94a24c00/html5/thumbnails/15.jpg)
Classes
Single inheritance
Dynamic binding
Protocols (“Interfaces”)
Properties
Methods
![Page 16: IStarted- And You Can Too! A Beginner’s Guide to iOS Programming.](https://reader035.fdocuments.us/reader035/viewer/2022062322/56649d495503460f94a24c00/html5/thumbnails/16.jpg)
IAGSLayerView* InsertMapLayer( AGSLayer* mapLayer, String* name, unsigned int index);
result = myMapView->InsertMapLayer( mapLayer, name, index);
Methods in C++
![Page 17: IStarted- And You Can Too! A Beginner’s Guide to iOS Programming.](https://reader035.fdocuments.us/reader035/viewer/2022062322/56649d495503460f94a24c00/html5/thumbnails/17.jpg)
- (UIView<AGSLayerView>*) insertMapLayer: (AGSLayer*) mapLayer withName: (NSString*) name atIndex: (NSUInteger) index;
result = [myMapView insertMapLayer: mapLayer withName: name atIndex: index];
Methods in Objective C
![Page 18: IStarted- And You Can Too! A Beginner’s Guide to iOS Programming.](https://reader035.fdocuments.us/reader035/viewer/2022062322/56649d495503460f94a24c00/html5/thumbnails/18.jpg)
6. Fully-stocked Liquor
CabinetPriceless
![Page 19: IStarted- And You Can Too! A Beginner’s Guide to iOS Programming.](https://reader035.fdocuments.us/reader035/viewer/2022062322/56649d495503460f94a24c00/html5/thumbnails/19.jpg)
[object message];
![Page 20: IStarted- And You Can Too! A Beginner’s Guide to iOS Programming.](https://reader035.fdocuments.us/reader035/viewer/2022062322/56649d495503460f94a24c00/html5/thumbnails/20.jpg)
[object message: argument];
![Page 21: IStarted- And You Can Too! A Beginner’s Guide to iOS Programming.](https://reader035.fdocuments.us/reader035/viewer/2022062322/56649d495503460f94a24c00/html5/thumbnails/21.jpg)
CGColorRef color = [[UIColor darkGrayColor] CGColor];
CGContextSetShadowWithColor(context, offset, 2.0, color);
![Page 22: IStarted- And You Can Too! A Beginner’s Guide to iOS Programming.](https://reader035.fdocuments.us/reader035/viewer/2022062322/56649d495503460f94a24c00/html5/thumbnails/22.jpg)
![Page 23: IStarted- And You Can Too! A Beginner’s Guide to iOS Programming.](https://reader035.fdocuments.us/reader035/viewer/2022062322/56649d495503460f94a24c00/html5/thumbnails/23.jpg)
spulch.blogspot.com/2007/05/weird-animals-created-using-photoshop.html
![Page 24: IStarted- And You Can Too! A Beginner’s Guide to iOS Programming.](https://reader035.fdocuments.us/reader035/viewer/2022062322/56649d495503460f94a24c00/html5/thumbnails/24.jpg)
iOS Development
Memory Management
Model View Controller
Delegates
Program Structure
![Page 25: IStarted- And You Can Too! A Beginner’s Guide to iOS Programming.](https://reader035.fdocuments.us/reader035/viewer/2022062322/56649d495503460f94a24c00/html5/thumbnails/25.jpg)
Memory Management
![Page 26: IStarted- And You Can Too! A Beginner’s Guide to iOS Programming.](https://reader035.fdocuments.us/reader035/viewer/2022062322/56649d495503460f94a24c00/html5/thumbnails/26.jpg)
![Page 27: IStarted- And You Can Too! A Beginner’s Guide to iOS Programming.](https://reader035.fdocuments.us/reader035/viewer/2022062322/56649d495503460f94a24c00/html5/thumbnails/27.jpg)
![Page 28: IStarted- And You Can Too! A Beginner’s Guide to iOS Programming.](https://reader035.fdocuments.us/reader035/viewer/2022062322/56649d495503460f94a24c00/html5/thumbnails/28.jpg)
iOS Uses Reference Counting
alloc creates object with count of 1
retain increments count
release decrements count
dealloc called when count drops to 0
![Page 29: IStarted- And You Can Too! A Beginner’s Guide to iOS Programming.](https://reader035.fdocuments.us/reader035/viewer/2022062322/56649d495503460f94a24c00/html5/thumbnails/29.jpg)
Advantage
Fast and responsive
![Page 30: IStarted- And You Can Too! A Beginner’s Guide to iOS Programming.](https://reader035.fdocuments.us/reader035/viewer/2022062322/56649d495503460f94a24c00/html5/thumbnails/30.jpg)
Disadvantage
It’s hard
![Page 31: IStarted- And You Can Too! A Beginner’s Guide to iOS Programming.](https://reader035.fdocuments.us/reader035/viewer/2022062322/56649d495503460f94a24c00/html5/thumbnails/31.jpg)
malloc( )
free( )
![Page 32: IStarted- And You Can Too! A Beginner’s Guide to iOS Programming.](https://reader035.fdocuments.us/reader035/viewer/2022062322/56649d495503460f94a24c00/html5/thumbnails/32.jpg)
ModelView
Controller
![Page 33: IStarted- And You Can Too! A Beginner’s Guide to iOS Programming.](https://reader035.fdocuments.us/reader035/viewer/2022062322/56649d495503460f94a24c00/html5/thumbnails/33.jpg)
Quick Demo
![Page 34: IStarted- And You Can Too! A Beginner’s Guide to iOS Programming.](https://reader035.fdocuments.us/reader035/viewer/2022062322/56649d495503460f94a24c00/html5/thumbnails/34.jpg)
ModelView
Controller
![Page 35: IStarted- And You Can Too! A Beginner’s Guide to iOS Programming.](https://reader035.fdocuments.us/reader035/viewer/2022062322/56649d495503460f94a24c00/html5/thumbnails/35.jpg)
Models
StringsMap data (not
display)
@”Hello, World”
![Page 36: IStarted- And You Can Too! A Beginner’s Guide to iOS Programming.](https://reader035.fdocuments.us/reader035/viewer/2022062322/56649d495503460f94a24c00/html5/thumbnails/36.jpg)
Views“Window”
![Page 37: IStarted- And You Can Too! A Beginner’s Guide to iOS Programming.](https://reader035.fdocuments.us/reader035/viewer/2022062322/56649d495503460f94a24c00/html5/thumbnails/37.jpg)
![Page 38: IStarted- And You Can Too! A Beginner’s Guide to iOS Programming.](https://reader035.fdocuments.us/reader035/viewer/2022062322/56649d495503460f94a24c00/html5/thumbnails/38.jpg)
![Page 39: IStarted- And You Can Too! A Beginner’s Guide to iOS Programming.](https://reader035.fdocuments.us/reader035/viewer/2022062322/56649d495503460f94a24c00/html5/thumbnails/39.jpg)
![Page 40: IStarted- And You Can Too! A Beginner’s Guide to iOS Programming.](https://reader035.fdocuments.us/reader035/viewer/2022062322/56649d495503460f94a24c00/html5/thumbnails/40.jpg)
![Page 41: IStarted- And You Can Too! A Beginner’s Guide to iOS Programming.](https://reader035.fdocuments.us/reader035/viewer/2022062322/56649d495503460f94a24c00/html5/thumbnails/41.jpg)
Views are
Defined in XIB files
![Page 42: IStarted- And You Can Too! A Beginner’s Guide to iOS Programming.](https://reader035.fdocuments.us/reader035/viewer/2022062322/56649d495503460f94a24c00/html5/thumbnails/42.jpg)
Controllers
![Page 43: IStarted- And You Can Too! A Beginner’s Guide to iOS Programming.](https://reader035.fdocuments.us/reader035/viewer/2022062322/56649d495503460f94a24c00/html5/thumbnails/43.jpg)
EsriMapViewController controls the view that draws this map
![Page 44: IStarted- And You Can Too! A Beginner’s Guide to iOS Programming.](https://reader035.fdocuments.us/reader035/viewer/2022062322/56649d495503460f94a24c00/html5/thumbnails/44.jpg)
GoogleMapViewController controls the view that draws this map
![Page 45: IStarted- And You Can Too! A Beginner’s Guide to iOS Programming.](https://reader035.fdocuments.us/reader035/viewer/2022062322/56649d495503460f94a24c00/html5/thumbnails/45.jpg)
TabBarViewController swaps out other controllers,
whose views fill this space
![Page 46: IStarted- And You Can Too! A Beginner’s Guide to iOS Programming.](https://reader035.fdocuments.us/reader035/viewer/2022062322/56649d495503460f94a24c00/html5/thumbnails/46.jpg)
Delegates
![Page 47: IStarted- And You Can Too! A Beginner’s Guide to iOS Programming.](https://reader035.fdocuments.us/reader035/viewer/2022062322/56649d495503460f94a24c00/html5/thumbnails/47.jpg)
Delegate = Callback
![Page 48: IStarted- And You Can Too! A Beginner’s Guide to iOS Programming.](https://reader035.fdocuments.us/reader035/viewer/2022062322/56649d495503460f94a24c00/html5/thumbnails/48.jpg)
Application Delegate
Root object of an iOS application
Responds to application events
didFinishLaunchingWithOptions
applicationWillTerminate
etc.
![Page 49: IStarted- And You Can Too! A Beginner’s Guide to iOS Programming.](https://reader035.fdocuments.us/reader035/viewer/2022062322/56649d495503460f94a24c00/html5/thumbnails/49.jpg)
AGSMapViewTouchDelegate
Map view sends messages to the view controller
didClickAtPoint
didTapAndHoldAtPoint
![Page 50: IStarted- And You Can Too! A Beginner’s Guide to iOS Programming.](https://reader035.fdocuments.us/reader035/viewer/2022062322/56649d495503460f94a24c00/html5/thumbnails/50.jpg)
Structure of the iStarted
Application
![Page 51: IStarted- And You Can Too! A Beginner’s Guide to iOS Programming.](https://reader035.fdocuments.us/reader035/viewer/2022062322/56649d495503460f94a24c00/html5/thumbnails/51.jpg)
![Page 52: IStarted- And You Can Too! A Beginner’s Guide to iOS Programming.](https://reader035.fdocuments.us/reader035/viewer/2022062322/56649d495503460f94a24c00/html5/thumbnails/52.jpg)
![Page 53: IStarted- And You Can Too! A Beginner’s Guide to iOS Programming.](https://reader035.fdocuments.us/reader035/viewer/2022062322/56649d495503460f94a24c00/html5/thumbnails/53.jpg)
![Page 54: IStarted- And You Can Too! A Beginner’s Guide to iOS Programming.](https://reader035.fdocuments.us/reader035/viewer/2022062322/56649d495503460f94a24c00/html5/thumbnails/54.jpg)
![Page 55: IStarted- And You Can Too! A Beginner’s Guide to iOS Programming.](https://reader035.fdocuments.us/reader035/viewer/2022062322/56649d495503460f94a24c00/html5/thumbnails/55.jpg)
![Page 56: IStarted- And You Can Too! A Beginner’s Guide to iOS Programming.](https://reader035.fdocuments.us/reader035/viewer/2022062322/56649d495503460f94a24c00/html5/thumbnails/56.jpg)
Why Bother?
![Page 57: IStarted- And You Can Too! A Beginner’s Guide to iOS Programming.](https://reader035.fdocuments.us/reader035/viewer/2022062322/56649d495503460f94a24c00/html5/thumbnails/57.jpg)
Learn new and different technologies
Business opportunity
Fun!
![Page 58: IStarted- And You Can Too! A Beginner’s Guide to iOS Programming.](https://reader035.fdocuments.us/reader035/viewer/2022062322/56649d495503460f94a24c00/html5/thumbnails/58.jpg)
One More Thing
![Page 59: IStarted- And You Can Too! A Beginner’s Guide to iOS Programming.](https://reader035.fdocuments.us/reader035/viewer/2022062322/56649d495503460f94a24c00/html5/thumbnails/59.jpg)
One More Thing
![Page 60: IStarted- And You Can Too! A Beginner’s Guide to iOS Programming.](https://reader035.fdocuments.us/reader035/viewer/2022062322/56649d495503460f94a24c00/html5/thumbnails/60.jpg)
// UX designers// QA engineers// Product owners// Developersif ( [you want: aJob] ) { [me contact];}
![Page 62: IStarted- And You Can Too! A Beginner’s Guide to iOS Programming.](https://reader035.fdocuments.us/reader035/viewer/2022062322/56649d495503460f94a24c00/html5/thumbnails/62.jpg)
![Page 63: IStarted- And You Can Too! A Beginner’s Guide to iOS Programming.](https://reader035.fdocuments.us/reader035/viewer/2022062322/56649d495503460f94a24c00/html5/thumbnails/63.jpg)