iOS5 App Development Basics

248 terms by klp1958 Teacher

Create a new folder

The essentials about iOS application development for iPhone/iPad/iTouch

Used to test an app without needing an actual physical device

iOS Simulator

Allows you to easily track multiple versions of your project

Snapshot feature

IDE for iPhone Development

Xcode

API

"Application Programming Interface"

Dimensions of iPhone (in points)

320 x 480

Dimensions of iPad (in points)

1024 x 768

RAM for iPhone

512MB

Extension for an iPhone/iPad app

xcodeproj

Language used to write iOS apps

Objective-C

Defines the functional building blocks (classes) that make iOS devices perform certain actions

Cocoa Touch

Collection of interface elements and data storage elements etc you can access from your applications

Cocoa Touch

iOS functional building blocks

Classes

Development approach (design pattern) to structure iOS applications

Model-View-Controller

MVC

Model-View-Controller

IDE

"Integrated Development Environment"

OOP

Object-oriented programming

Defines what an object can do

class

Class that builds upon another class

subclass

Class that another class inherits from

superclass

Process of creating an active object from a class

instantiation

Calling a method is the same as...

...sending an object a message

Storage location for a piece of information

variable

Storage place for a piece of information specific to a class

instance variable

Piece of information provided to a method when it is messaged

parameter

Way to refer to an object within its own methods

self

Master class in iOS

NSObject

Objective-C is an extension (super set) of...

...C

Files used to create a class

interface and implementation files

Extension for interface file

h

Extension for implementation file

m

Synonym for interface file

header

Used to define a list of all methods and properties a class uses

interface file

This file contains the code that makes everything 'work'

implementation file

Directive to include other interface files that an application might need to access

import

Syntax to include the fictitious user-created file: 'myFile.h'

#import "myFile.h"

Syntax to include UIKIT in a class

#import <UIKIT/UIKIT.h>

Delimiter for a list of protocols

<>

Syntax for single-line comment

//blah blah blah

Syntax for block-comment

/*blah blah blah */

A class that implements a protocol is said to ____ to that protocol

conform

Given:
#import <UIKit/UIKit.h>
@interface WelcomeViewController : UIViewController
@end

The superclass for WelcomeViewController

UIViewController

Symbol used for inheritance

:

Companion to the @property directive

@synthesize

getters

accessors

setters

mutators

Something the simulator cannot reliably test

performance

Used to set up an outgoing connection from the implementation code to the view

IBOutlet

Term used to describe each screen of an iPhone app

view

Framework used to write iPhone apps

Cocoa Touch

Used to receive an event in code and trigger something

IBAction

Document Apple uses to evaluate apps for the App Store

Human Interface Guide

This type of app is typically one screen, and gives you the basics with minimal interaction

utility

These define to which messages the datasource and delegate respond

protocols

This type of app typically involves hierarchical data

productivity

This type of app is mostly custom controllers and graphics

immersive

Other name for an *.xib file

nibfile

To use a new class you need to _____ it

instantiate

The '@' symbol is shorthand for creating one of these

NSString

A tool in Xcode to help fix broken code

debugger

The HIG requires some kind of _____ element in a cell if there is more information available

disclosure

strong and nonatomic are examples of ...

attributes

Attribute that informs the system that the object referred to needs to be kept around and not discarded from memory

strong

Attribute that informs Xcode not to worry about different parts of the application using a property at the same time

nonatomic

Denotes a class method

+

Denotes an instance method

-

Return type indicating a method returns nothing

void

Used to indicate any type of object

id

Closes an interface file

@end

Syntax for declaring a variable

<type> <variableName>;

Data type for whole numbers

int

Data type for numbers with 'tame' numbers of decimal points

float

Data type for highly precise numbers with huge numbers of decimal places

double

Syntax for declaring a string called 'userName'

NSString *userName;

Syntax for reserving memory and initializing an object

[[<class name> alloc] init];

Write a statement to declare and initialize a label object called 'myLabel'

UILabel *myLabel = [[UILabel alloc] init];

Write a statement to declare and initialize a label object called 'myLabel' to "GO!"

UILabel *myLabel = [[UILabel alloc] initWithString:@"GO!"];

Apple's classes often provide a special initialization method called a _____ method

convenience

Consider:
int x = 6;
int y = 7;
float quotient = (float) x/y;
The statement that creates the variable 'quotient' is an example of ....

casting

Syntax for sending an object a message with no parameters

[<object variable> <method name>];

Syntax for sending an object a message with one parameter (p1)

[<object variable> <method name>: p1];

If a method name includes a colon (:) this indicates a required _________

parameter

Indicates a lack of any value at all

nil

Tests to see whether two values are equal

==

Tests to see whether two values are not equal

!=

Implements a logical AND condition

&&

Implements a logical OR condition

||

Name of the '|' symbol

pipe

Negation symbol

!

Two-way selection logic block

if(<boolean condition>){
/* stuff to do*/
} else{
/*stuff to do*/
}

Alternative selection mechanism when many conditions exist

switch

Fixed iteration repetition control structure syntax

for(<initialization>;<test condition>;<update instruction>){
/*do this over and over*/
}

Shortcut for writing: count = count + 1;

count++;

Shortcut for writing: x = x - 1;

x--;

Shortcut for writing: y = y * 5;

y *= 5;

Precondition repetition structure syntax

while(<boolean expression>){
/*stuff to do here*/
}

Postcondition repetition structure syntax

do{
/*stuff to do here*/
}while(<boolean expression>);

Prior to ARC, you used these terms alot

retain, release, dealloc, autorelease

Another name for format specification

token

Method used to print information in an output panel

NSLog

Declare and initialize a string that says: "Hello World" whose identifier if 'phrase' . Use the shortest command possible.

NSString *phrase = @"Hello World";

Symbol often denoting a 'pointer'

*

NS stands for...

NeXSTEP

What's the difference between Cocoa and Cocoa Touch?

Cocoa is the development framework used for most native Mac OS X applications; Cocoa Touch is customized for a touch interface

4 Top down technology layers making up iOS

Cocoa Touch, Media, Core Services, Core OS

The first method called when a user taps an application icon

main()

True or false: Beginning with iOS4, applications no longer terminate when the user presses the Home button

true

Every iOS application implements a subclass of _________

UIApplication

The ________ class provided a container for the management and display of views

UIWindow

Class of strings that can be changed

NSMutableString

______ enable applications to store multiple pieces of information in a single object

Collections

An example of a common collection data type

NSArray

Always used to end the list of objects when initializing an array

nil

Class that creates an array capable of being changed after it is create

NSMutableArray

Class of collection data type which stores information as object/key pairs

NSDictionary

Class used to work with dates as objects

NSDate

Class that allows URL management

NSURL

Single line text field

UITextField

Multiline text entry block

UITextView

Resembles a slot machine display

UIPicker

Opens the Xcode Quick Help Assistant

Option-click a symbol

The object currently in control and interacting with the user

First Responder

The name of the panel to the left of the Interface Builder Editor panel

Document Outline Area or Outline View

The Round Rect Button is found in this library

Object Library

What do the Autosizing settings of the Size Inspector do?

Determine how controls resize/reposition themselves when a device changes orientation

You have two labels in Interface Builder. One is selected (You clicked on it). How can you tell the distance between it and the other label?

Hold down the Option key and point to the other label. The distance will be shown

The Inspector you would use to tweak the way interface objects appear

Attributes Inspector

The Inspector you would use to control your layout in Interface Builder

Size Inspector

IB

"Interface Builder"

The Inspector you would access to gain access to various accessibility attributes

Identity Inspector

Word used to indicate that a user can't interact with a given element

static

Another name for a 'button bar'

segmented control

An integrated web browser component

web view

A skeleton (holding place) or framework of code that will be completed in the future; provided initially so code will compile (but it may not function)

stub

The Inspector you will need if you want to connect a custom class to an object in Interface Builder

Identity Inspector

Apps written to assist users with special disabilities

accessible apps

In the MVC design pattern for iOS apps, this aspect provides the underlying data and methods that offer information to the rest of the application

model

In the MVC design pattern for iOS apps, this aspect consists of the various onscreen 'widgets' a user can interact with

view

In the MVC design pattern for iOS apps, this aspect is responsible for receiving user input and acting accordingly, and serves as a 'bridge' between the other two components. It is the backbone of the app.

controller

The goal of the MVC design pattern

Isolate the functional components of an app

An _______ is used to enable your code to talk to objects within views

IBOutlet

True or false: Although it is possible to declare an instance variable and then define a corresponding property, you may also use @property alone to implicitly declare a matching instance variable

true

Creates 'getters' and 'setters'

@synthesize directive

An _______ is used to 'advertise' a method in your code that should be called when a certain event takes place

IBAction

Declaring a method in an interface file, before it is actually implemented is called _______ the method

prototyping

What event do you use to detect a button tap?

Touch Up Inside

Which Apple project template creates a simple view/view controller application

Single View Application

What is the relationship between storyboards, scenes, views, and view controllers?

A scene is where you edit a view and assign a controller to it. Storyboards are the files that contain all the scenes you will use in a project.

SDK

"Software Development Kit"

Extension for MainStoryboard

storyboard

See More

Please allow access to your computer’s microphone to use Voice Recording.

Having trouble? Click here for help.

We can’t access your microphone!

Click the icon above to update your browser permissions above and try again

Example:

Reload the page to try again!

Reload

Press Cmd-0 to reset your zoom

Press Ctrl-0 to reset your zoom

It looks like your browser might be zoomed in or out. Your browser needs to be zoomed to a normal size to record audio.

Please upgrade Flash or install Chrome
to use Voice Recording.

For more help, see our troubleshooting page.

Your microphone is muted

For help fixing this issue, see this FAQ.

Star this term

You can study starred terms together

NEW! Voice Recording

Create Set