Transcript of IPhone/iPad Programming Reuben Edwards. Contents iPhone & iPad Layout Objective-C UIKit Other APIs...
- Slide 1
- iPhone/iPad Programming Reuben Edwards
- Slide 2
- Contents iPhone & iPad Layout Objective-C UIKit Other APIs
Alternative Tools
- Slide 3
- What is an App? http://www.youtube.com/watch?v=EhkxDIr0y 2U
http://www.youtube.com/watch?v=EhkxDIr0y 2U
- Slide 4
- iPhone
- Slide 5
- iPad GUI Kit
http://www.teehanlax.com/blog/2010/02/01/ipad-gui-psd/
- Slide 6
- 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
- Slide 7
- Classes Objective C is object-oriented Classes specified using
an interface and an implementation
- Slide 8
- 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)
- Slide 9
- 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.
- Slide 10
- 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;
- Slide 11
- 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
- Slide 12
- 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.
- Slide 13
- 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];
- Slide 14
- 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
- Slide 15
- Other APIs GameKit Game Center Authentication, Friends,
Leaderboards, Achievements, Auto-matching, Invitations Peer-to-Peer
Bluetooth Gaming In-Game Voice Voice Chat
- Slide 16
- Other APIs iAd, StoreKit AddressBook/AddressBookUI
AudioToolbox/AVFoundation CoreAnimation, CoreGraphics,
CoreLocation, CoreMedia, CoreMotion, CoreTelephony, CoreText
EventKit, ExternalAccessory MapKit OpenTK (OpenGLES support)
- Slide 17
- Other Tools MonoTouch C#.NET Unity 3D Gaming RhoMobile Ruby On
Rails Appcelerator Javascript PhoneGap Javascript Whoop Wysiwyg
webeditor MoSync C/C++
- Slide 18
- Final Thoughts