iPhone Development - InfoLab21

sentencedebonairMobile - Wireless

Dec 10, 2013 (3 years and 6 months ago)

74 views

iPhone/
iPad

Programming

Reuben Edwards

Contents


iPhone &
iPad

Layout


Objective
-
C


UIKit


Other APIs


Alternative Tools

What is an App?


http://www.youtube.com/watch?v=EhkxDIr0y
2U


iPhone

iPad

GUI Kit

http://www.teehanlax.com/blog/2010/02/01/ipad
-
gui
-
psd/


Objective
-
C


Superset of ANSI
-
C


Supports C and C++ code

.h


header files

.m


Objective C and/or C code

.mm C/C++/
Obj
-
C code


Classes


Objective C is object
-
oriented


Classes specified using an interface and an
implementation

Methods


A class in Objective
-
C can declare two types of
methods: instance methods and class methods.


An instance method is a method whose execution is
scoped to a particular instance of the class.


Class methods, by comparison, do not require you to
create an instance (i.e. static methods)

Messaging


When you want to call a method, you do so by
messaging

an object.


A message is the method signature, along with the
parameter information the method needs.


All messages you send to an object are dispatched
dynamically.


Messages are enclosed by brackets ([ and ]).


Inside the brackets, the object receiving the message
is on the left side and the message (along with any
parameters required by the message) is on the right.


Messaging Example


For example, to send the
insertObject:atIndex
:
message to an object in the
myArray

variable,
you would use the following syntax:

[
myArray

insertObject:anObject

atIndex:0];



Objects can be nested:

[[
myAppObject

theArray
]
insertObject
:[
myAppObject

objectToInsert
] atIndex:0];



Obj
-
C also supports dot syntax:

myAppObject.theArray

=
aNewArray
;



Class implementation

@implementation
MyClass

-

(id)initWithString:(NSString *)aName

{

self = [super init];

if (self) {

name = [aName copy];

}

return self;

+ (
MyClass

*)
createMyClassWithString
: (
NSString

*)
aName

{

return [[[self alloc] initWithString:aName] autorelease];

}

@end

NSString


The
NSString

class provides an object wrapper
for strings that has all of the advantages you
would expect, including built
-
in memory
management for storing arbitrary
-
length
strings, support for Unicode,
printf
-
style
formatting utilities, and more.


Because such strings are used commonly though,
Objective
-
C provides a shorthand notation for
creating
NSString

objects from constant values.

NSString

examples

NSString *myString = @"My String
\
n";

NSString *anotherString = [NSString stringWithFormat:@"%d %@", 1, @"String"];

// Create an Objective
-
C string from a C string

NSString

*
fromCString

= [
NSString

stringWithCString
:"A C string"
encoding:NSASCIIStringEncoding
];

UIKit


UI Framework for
iOS


Classes:


UIHardware
,
UIApplication


UIWindow
,
UIResponder
,
UIView
,
UIControl
,
UIImage
,
UIImageView


UINavigationBar
,
UIButtonBar
,
UITextView
,
UITextLabel
,
UITextField
,
UIKeyboard
,
UIFontChooser
,
UISegmentedControl
,
UISliderControl
,
UISwitchControl
,
UIPickerView
,
UIPushButton
,
UIAlertSheet
,
UITransitionView
,
UITable


UIAnimation

Other APIs


GameKit


Game
Center


Authentication, Friends,
Leaderboards
, Achievements,
Auto
-
matching, Invitations


Peer
-
to
-
Peer


Bluetooth Gaming


In
-
Game Voice


Voice Chat

Other APIs


iAd
,
StoreKit


AddressBook
/
AddressBookUI


AudioToolbox
/
AVFoundation


CoreAnimation
,
CoreGraphics
,
CoreLocation
,
CoreMedia
,
CoreMotion
,
CoreTelephony
,
CoreText


EventKit
,
ExternalAccessory


MapKit


OpenTK

(
OpenGLES

support)


Other Tools


MonoTouch


C#.NET


Unity


3D Gaming


RhoMobile


Ruby On Rails


Appcelerator


Javascript


PhoneGap


Javascript


Whoop


Wysiwyg

webeditor


MoSync


C/C++

Final Thoughts