IPhone/iPad Programming Reuben Edwards. Contents iPhone & iPad Layout Objective-C UIKit Other APIs Alternative Tools.

Slides:



Advertisements
Similar presentations
Lecture 2 - Introduction Objective C is used primarily for application development on Apple's Mac OS X and iPhone. On the Apple it is used together with.
Advertisements

View-Based Application Development Lecture 1 1. Flows of Lecture 1 Before Lab Introduction to the Game to be developed in this workshop Comparison between.
OO Programming in Java Objectives for today: Overriding the toString() method Polymorphism & Dynamic Binding Interfaces Packages and Class Path.
Coding Standard: General Rules 1.Always be consistent with existing code. 2.Adopt naming conventions consistent with selected framework. 3.Use the same.
Compiler Design PROJECT PRESENTATION : COMPILER FOR OBJECTIVE C Harshal Waghmare Jeet Kumar Nandan Kumar Vishal Agrawal.
Chapter 7: User-Defined Functions II
CS 3800 Su 11 Beg. IOS Dev L4 Obj C part 1 CS 3800 Introduction to IOS programming Summer 2011 G. Zimmerman.
Class and Objects.
Chapter 14: Overloading and Templates C++ Programming: Program Design Including Data Structures, Fifth Edition.
IPhone Development Crash Course By Dylan Harris
Week 4 Recap CSE 115 Spring Formal Parameter Lists Comma-separated list of formal parameters Formal parameters are listed giving the type of the.
IPhone Development JaxCodeCamp Who am I David Fekke.NET Developer, ColdFusion Work at LPS Presenter JaxDug, JaxJug, JSUG & JaxFusion Mac User 1986.
IPhone 101. Outline Objective-C Random bits of the API Using the simulator Debugging with Xcode.
Intro to Objective-C Syntax: What’s most confusing about Objective-C? Most class names start with NS: NSString, NSObject Parameter lists are not comma.
Introduction to Classes and Objects CS-2303, C-Term Introduction to Classes and Objects CS-2303 System Programming Concepts (Slides include materials.
1 Objective-C Foundation Lecture Flow of Lecture 2  Objective-C Basics  Introduction to Objective-C  Intrinsic Variables and Image-Specific.
Chapter 15: Operator Overloading
1 JavaScript/Jscript: Arrays. 2 Introduction Arrays –Data structures consisting of related data items (collections of data items) JavaScript arrays are.
1 Procedural Concept The main program coordinates calls to procedures and hands over appropriate data as parameters.
The different kinds of variables in a Java program.
Objective-C Quinton Palet. Introduction  Objective-C was developed to bring large scale software development the power of the object-oriented approach.
Introduction to Ruby CSE 413 Autumn 2008 Credit: Dan Grossman, CSE341.
Comparison of OO Programming Languages © Jason Voegele, 2003.
IOS WorkShoP Xcode 4 iOS 5 : “A Primer”. Objective-C iOS applications are written in Objective-C language using the Cocoa Touch library Objective-C is.
Object Oriented Programming
Objective C Basics. It’s C with Some Extras!  Cross Platform language  Mac  Linux/UNIX  Windows  Layer above C (Superset)  Adds Object-Oriented.
Session 7 JavaScript/Jscript: Arrays Matakuliah: M0114/Web Based Programming Tahun: 2005 Versi: 5.
CS212: Object Oriented Analysis and Design Lecture 6: Friends, Constructor and destructors.
OS X Development Tom Schroeder. Table of Contents Who cares? HistoryObjective-CCocoaEnvironmentDesign.
Objective-C First Part adapted from a presentation by Kevin Layer.
Object-Oriented Programming (OOP). Implementing an OOD in Java Each class is stored in a separate file. All files must be stored in the same package.
Computer Concepts 2014 Chapter 12 Computer Programming.
 2008 Pearson Education, Inc. All rights reserved JavaScript: Arrays.
Objective-C OOP Spring OOP Conceptually the same as C++, Java, and all other object oriented languages The syntax, however… …is, well, different.
Folio3 IPhone Training Session 1 Presenter: Imam Raza.
1 Introduction to Objective-C Programming (Level: Beginner) Lecture 1.
Introduction to Building Windows 8.1 & Windows Phone Applications.
Copyright 2003 Scott/Jones Publishing Standard Version of Starting Out with C++, 4th Edition Chapter 13 Introduction to Classes.
Copyright 2004 Scott/Jones Publishing Alternate Version of STARTING OUT WITH C++ 4 th Edition Chapter 7 Structured Data and Classes.
CSC3315 (Spring 2008)1 CSC 3315 Subprograms Hamid Harroud School of Science and Engineering, Akhawayn University
+ An Intro To Xcode By Sarah Montroy. + What is Xcode?
An Object-Oriented Approach to Programming Logic and Design Chapter 3 Using Methods and Parameters.
C++ Programming Basic Learning Prepared By The Smartpath Information systems
Course Summary Xcode & iPhone Simulator
Introduction to c++ programming - object oriented programming concepts - Structured Vs OOP. Classes and objects - class definition - Objects - class scope.
“Education is a Treasure that follows you everywhere.” – Chines Proverb Methods and Functions.
CS451 - Lecture 2 1 CS451 Lecture 2: Introduction to Object Orientation Yugi Lee STB #555 (816) * Acknowledgement:
Chapter 10: Classes and Data Abstraction. Objectives In this chapter, you will: Learn about classes Learn about private, protected, and public members.
More Objective-C Details FA 172 Intro to Mobile App Development.
Introduction to Objective-C Spring Goals An introduction to Objective-C As implemented by the Apple LLVM Compiler 4.0 (a.k.a. Clang) Only the basics…
The iOS Platform and SDK. iOS iPhoneiPad Mini iPad.
STL CSSE 250 Susan Reeder. What is the STL? Standard Template Library Standard C++ Library is an extensible framework which contains components for Language.
IOS Programming Medialogy, Semester 7, 2010 Aalborg University, Aalborg David Meredith
1 Static Variable and Method Lecture 9 by Dr. Norazah Yusof.
2/20/2016 EEC492/693/793 - iPhone Application Development 12/20/2016 EEC492/693/793 - iPhone Application Development 1 EEC-492/693/793 iPhone Application.
Chapter 10: Classes and Data Abstraction. Classes Object-oriented design (OOD): a problem solving methodology Objects: components of a solution Class:
Learning & Development Mobile apps for iPhone & iPad.
1 C# - Inheritance and Polymorphism. 2 1.Inheritance 2.Implementing Inheritance in C# 3.Constructor calls in Inheritance 4.Protected Access Modifier 5.The.
Introduction to Objective-C and Xcode (Part 4) FA 175 Intro to Mobile App Development.
M1G Introduction to Programming 2 2. Creating Classes: Game and Player.
Objective-C: Intro Michelle Alexander COMS E6998 2/4/2013.
UMass Lowell Computer Science Java and Distributed Computing Prof. Karen Daniels Fall, 2000 Lecture 10 Java Fundamentals Objects/ClassesMethods.
INTRODUCING HYBRID APP KAU with MICT PARK IT COMPANIES Supported by KOICA
Test 2 Review Outline.
iOS UI Components Sisoft Technologies Pvt Ltd
JavaScript: Functions.
CSC 581: Mobile App Development
CMSC 202 Java Primer 2.
EEC-492/693/793 iPhone Application Development
Corresponds with Chapter 5
Presentation transcript:

iPhone/iPad Programming Reuben Edwards

Contents iPhone & iPad Layout Objective-C UIKit Other APIs Alternative Tools

What is an App? 2U 2U

iPhone

iPad GUI Kit

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 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];

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 String\n"; NSString *anotherString = [NSString // 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