"Intro to iOS Development" - Derek Fernholz, South Dakota Code Camp 2012

11
Derek Fernholz Developer @fernholz [email protected] A COMPREHENSIVE OVERVIEW Intro to iOS Development 1

description

"Intro to iOS Development" by Derek Fernholz, given November 10, 2012, at South Dakota Code Camp 2012 in Sioux Falls.

Transcript of "Intro to iOS Development" - Derek Fernholz, South Dakota Code Camp 2012

Page 1: "Intro to iOS Development" - Derek Fernholz, South Dakota Code Camp 2012

Derek FernholzDeveloper

@fernholz

[email protected]

A COMPREHENSIVE OVERVIEW

Intro to iOS Development

1

Page 2: "Intro to iOS Development" - Derek Fernholz, South Dakota Code Camp 2012

WHAT YOU NEED TO GET STARTED

The Necessities

• Mac (in our case, running Mac OS X 10.7 or higher)• XCode 4.5+• iOS SDKs• Familiarity with or willingness to learn Object Oriented

Programming

2

Page 3: "Intro to iOS Development" - Derek Fernholz, South Dakota Code Camp 2012

LEARNING TO LOVE [ ]

Language - Objective-C

• The Objective-C language is a simple computer language designed to enable sophisticated object-oriented programming.

• Knowing or having an understanding of C will help you understand this language

• It is a C superset based and built on Smalltalk

3

Page 4: "Intro to iOS Development" - Derek Fernholz, South Dakota Code Camp 2012

A ONE-STOP SHOP

The IDE

• (Live Demo / Walkthrough)

4

Page 5: "Intro to iOS Development" - Derek Fernholz, South Dakota Code Camp 2012

THE BASICS

Class Structure

• Interface vs. Implementation• Instance vs. Class• Instance Variables, Properties, Setters & Getters, and

Synthesizing

5

Page 6: "Intro to iOS Development" - Derek Fernholz, South Dakota Code Camp 2012

YOU’LL GET USED TO IT

Syntax

• NSString *string = [NSString string]• [NSString stringWithFormat:[prefs format]];• return [object name] (same as) return object.name• More as we dive into the code

6

Page 7: "Intro to iOS Development" - Derek Fernholz, South Dakota Code Camp 2012

WHY YOU’LL LOVE ARC

Memory Management

• Retain and Release• Alloc and Dealloc• Nil

7

Page 8: "Intro to iOS Development" - Derek Fernholz, South Dakota Code Camp 2012

EXTENDING WITHOUT EXTENDING

Categories

• Add methods to a class without subclassing it• Gives ability to override or add functionality to classes blindly

and with ease• @interface NSString (Utilities)• - (BOOL) isURL;• @end

8

Page 9: "Intro to iOS Development" - Derek Fernholz, South Dakota Code Camp 2012

STORYBOARDS, XIBS, OR ?

View Layer

• Storyboard• XIBs (NIBs)• IBOutlets• IBActions• (Show the people)

9

Page 10: "Intro to iOS Development" - Derek Fernholz, South Dakota Code Camp 2012

WE’LL DO IT LIVE

Lets Code Something

• (Heads to XCode)

10

Page 11: "Intro to iOS Development" - Derek Fernholz, South Dakota Code Camp 2012

THE OLD STANDARD FINAL SLIDE

Questions and Contact

• Q&A Session

• @fernholz• [email protected] or [email protected]• World Beer Tour App in iTunes App Store (shameless plug)• https://github.com/fernholz/CodeCamp12

11