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.
iStarted- And You Can Too!
A Beginner’s Guide to iOS Programming
Teaser, not a Tutorial
Prerequisites
Think DifferentDress the Same
1. The Uniform
2. The Computer
Mac Mini $599
3. The Developmen
t EnvironmentRegister as a Developer
FREE
Download XCode from Mac App Store FREE
Download Esri iOS SDK FREE
4. The Toys
iPhone 4S $199iPad 2 $499
Developer license* $99/year
5. The Help
iOS Programming: The Big Nerd Ranch Guide (2nd
Ed.) $30.42
Objective-C Programming $22.63
Whitepapers, Tutorials, Videos FREE
$153 - $950(Not Counting the Clothes)
Objective C
Data types
Expressions
Program Control
Preprocessor
Separate header files
Classes
Single inheritance
Dynamic binding
Protocols (“Interfaces”)
Properties
Methods
IAGSLayerView* InsertMapLayer( AGSLayer* mapLayer, String* name, unsigned int index);
result = myMapView->InsertMapLayer( mapLayer, name, index);
Methods in C++
- (UIView<AGSLayerView>*) insertMapLayer: (AGSLayer*) mapLayer withName: (NSString*) name atIndex: (NSUInteger) index;
result = [myMapView insertMapLayer: mapLayer withName: name atIndex: index];
Methods in Objective C
6. Fully-stocked Liquor
CabinetPriceless
[object message];
[object message: argument];
CGColorRef color = [[UIColor darkGrayColor] CGColor];
CGContextSetShadowWithColor(context, offset, 2.0, color);
spulch.blogspot.com/2007/05/weird-animals-created-using-photoshop.html
iOS Development
Memory Management
Model View Controller
Delegates
Program Structure
Memory Management
iOS Uses Reference Counting
alloc creates object with count of 1
retain increments count
release decrements count
dealloc called when count drops to 0
Advantage
Fast and responsive
Disadvantage
It’s hard
malloc( )
free( )
ModelView
Controller
Quick Demo
ModelView
Controller
Models
StringsMap data (not
display)
@”Hello, World”
Views“Window”
Views are
Defined in XIB files
Controllers
EsriMapViewController controls the view that draws this map
GoogleMapViewController controls the view that draws this map
TabBarViewController swaps out other controllers,
whose views fill this space
Delegates
Delegate = Callback
Application Delegate
Root object of an iOS application
Responds to application events
didFinishLaunchingWithOptions
applicationWillTerminate
etc.
AGSMapViewTouchDelegate
Map view sends messages to the view controller
didClickAtPoint
didTapAndHoldAtPoint
Structure of the iStarted
Application
Why Bother?
Learn new and different technologies
Business opportunity
Fun!
One More Thing
One More Thing
// UX designers// QA engineers// Product owners// Developersif ( [you want: aJob] ) { [me contact];}