istarted- and you can too! a beginner’s guide to ios programming

63
iStarted- And You Can Too! A Beginner’s Guide to iOS Programming

Post on 15-Jan-2016

219 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: IStarted- And You Can Too! A Beginner’s Guide to iOS Programming

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

Teaser, not a Tutorial

Page 3: IStarted- And You Can Too! A Beginner’s Guide to iOS Programming

Prerequisites

Page 4: IStarted- And You Can Too! A Beginner’s Guide to iOS Programming

Think DifferentDress the Same

Page 5: IStarted- And You Can Too! A Beginner’s Guide to iOS Programming

1. The Uniform

Page 6: IStarted- And You Can Too! A Beginner’s Guide to iOS Programming
Page 7: IStarted- And You Can Too! A Beginner’s Guide to iOS Programming

2. The Computer

Mac Mini $599

Page 8: IStarted- And You Can Too! A Beginner’s Guide to iOS Programming

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

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

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

$153 - $950(Not Counting the Clothes)

Page 12: IStarted- And You Can Too! A Beginner’s Guide to iOS Programming

Objective C

Page 13: IStarted- And You Can Too! A Beginner’s Guide to iOS Programming
Page 14: IStarted- And You Can Too! A Beginner’s Guide to iOS Programming

Data types

Expressions

Program Control

Preprocessor

Separate header files

Page 15: IStarted- And You Can Too! A Beginner’s Guide to iOS Programming

Classes

Single inheritance

Dynamic binding

Protocols (“Interfaces”)

Properties

Methods

Page 16: IStarted- And You Can Too! A Beginner’s Guide to iOS Programming

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

- (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

6. Fully-stocked Liquor

CabinetPriceless

Page 19: IStarted- And You Can Too! A Beginner’s Guide to iOS Programming

[object message];

Page 20: IStarted- And You Can Too! A Beginner’s Guide to iOS Programming

[object message: argument];

Page 21: IStarted- And You Can Too! A Beginner’s Guide to iOS Programming

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
Page 23: IStarted- And You Can Too! A Beginner’s Guide to iOS Programming

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

iOS Development

Memory Management

Model View Controller

Delegates

Program Structure

Page 25: IStarted- And You Can Too! A Beginner’s Guide to iOS Programming

Memory Management

Page 26: IStarted- And You Can Too! A Beginner’s Guide to iOS Programming
Page 27: IStarted- And You Can Too! A Beginner’s Guide to iOS Programming
Page 28: IStarted- And You Can Too! A Beginner’s Guide to iOS Programming

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

Advantage

Fast and responsive

Page 30: IStarted- And You Can Too! A Beginner’s Guide to iOS Programming

Disadvantage

It’s hard

Page 31: IStarted- And You Can Too! A Beginner’s Guide to iOS Programming

malloc( )

free( )

Page 32: IStarted- And You Can Too! A Beginner’s Guide to iOS Programming

ModelView

Controller

Page 33: IStarted- And You Can Too! A Beginner’s Guide to iOS Programming

Quick Demo

Page 34: IStarted- And You Can Too! A Beginner’s Guide to iOS Programming

ModelView

Controller

Page 35: IStarted- And You Can Too! A Beginner’s Guide to iOS Programming

Models

StringsMap data (not

display)

@”Hello, World”

Page 36: IStarted- And You Can Too! A Beginner’s Guide to iOS Programming

Views“Window”

Page 37: IStarted- And You Can Too! A Beginner’s Guide to iOS Programming
Page 38: IStarted- And You Can Too! A Beginner’s Guide to iOS Programming
Page 39: IStarted- And You Can Too! A Beginner’s Guide to iOS Programming
Page 40: IStarted- And You Can Too! A Beginner’s Guide to iOS Programming
Page 41: IStarted- And You Can Too! A Beginner’s Guide to iOS Programming

Views are

Defined in XIB files

Page 42: IStarted- And You Can Too! A Beginner’s Guide to iOS Programming

Controllers

Page 43: IStarted- And You Can Too! A Beginner’s Guide to iOS Programming

EsriMapViewController controls the view that draws this map

Page 44: IStarted- And You Can Too! A Beginner’s Guide to iOS Programming

GoogleMapViewController controls the view that draws this map

Page 45: IStarted- And You Can Too! A Beginner’s Guide to iOS Programming

TabBarViewController swaps out other controllers,

whose views fill this space

Page 46: IStarted- And You Can Too! A Beginner’s Guide to iOS Programming

Delegates

Page 47: IStarted- And You Can Too! A Beginner’s Guide to iOS Programming

Delegate = Callback

Page 48: IStarted- And You Can Too! A Beginner’s Guide to iOS Programming

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

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

Structure of the iStarted

Application

Page 51: IStarted- And You Can Too! A Beginner’s Guide to iOS Programming
Page 52: IStarted- And You Can Too! A Beginner’s Guide to iOS Programming
Page 53: IStarted- And You Can Too! A Beginner’s Guide to iOS Programming
Page 54: IStarted- And You Can Too! A Beginner’s Guide to iOS Programming
Page 55: IStarted- And You Can Too! A Beginner’s Guide to iOS Programming
Page 56: IStarted- And You Can Too! A Beginner’s Guide to iOS Programming

Why Bother?

Page 57: IStarted- And You Can Too! A Beginner’s Guide to iOS Programming

Learn new and different technologies

Business opportunity

Fun!

Page 58: IStarted- And You Can Too! A Beginner’s Guide to iOS Programming

One More Thing

Page 59: IStarted- And You Can Too! A Beginner’s Guide to iOS Programming

One More Thing

Page 60: IStarted- And You Can Too! A Beginner’s Guide to iOS Programming

// UX designers// QA engineers// Product owners// Developersif ( [you want: aJob] ) { [me contact];}

Page 61: IStarted- And You Can Too! A Beginner’s Guide to iOS Programming

[you Thanks];

[email protected]@richruh

[self drink: aMargarita];

Page 62: IStarted- And You Can Too! A Beginner’s Guide to iOS Programming
Page 63: IStarted- And You Can Too! A Beginner’s Guide to iOS Programming