iphone/ipad programming reuben edwards. contents iphone & ipad layout objective-c uikit other apis...
Post on 19-Dec-2015
217 views
TRANSCRIPT
- 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