SlideShare a Scribd company logo
1 of 18
Introduction To iOS Application
Development
iOS Application
Development
What is iOS ?
What are the requirement to develop iOS application ?
What is Objective C ?
How to develop Simple iOS Application ?
What is iOS ?
iOS which was previously called iPhone OS is a
mobile operating system developed by Apple .
Its first release was in 2007 which included iPhone
and iPod Touch. iPad (1st Generation) was released
in the April 2010 and iPad mini was released in
November 2012 .
iOS is derived from OS X, with which it shares the
Darwin foundation.
Requirements
Must have a mac .
Xcode
Xcode is Apple’s integrated development environment (IDE).
Xcode includes a source editor, a graphical user interface
editor, and many other features.
iOS SDK .
Objective C
The language used in iOS development is objective C. Its
additions to C language and mostly based on
Smalltalk, one of the first object-oriented
programming languages. Objective-C is a simple language.
Its syntax is small, unambiguous, and easy to learn .
Class
Instance.
Instance Variable
Method
Properties
Categories
Protocol
Class
In objective C the file where the declaration of class is done is
called the interface file and the file where the class is defined is
called the implementation file.
A simple interface file MyClass.h would look like the following.
@interface MyClass : NSObject{
// class variable declared here
}
// class properties declared here
// class methods and instance methods declared here
@end
The implementation file MyClass.m would be like follows
@implementation MyClass
// class methods defined here
@end
Instance
Object creation is done as follows
MyClass *objectName = [[MyClass alloc]init] ;
Instance Variable Declaration
@interface MyClass : NSObject{
// Instance variable declared here
}
// class properties declared here
// class methods and instance methods declared here
@end
Instance Variables
Methods
Instance Method
Method is declared in objective C as follows
-(returnType) methodName : (typeName) variable1 :
(typeName)variable2;
To call this method in the same class we use the following
statement
[self calculateAreaForRectangleWithLength:30
andBreadth:20];
Class method
Class methods can be accessed directly without creating
objects for the class. They don't have any objects associated
with it. An example is shown below.
+(void)simpleClassMethod;
It can be accessed by using the class name
[MyClass simpleClassMethod];
Properties
An object’s properties let other objects inspect or change
its state. Accessor methods (getters and setters) are used
as an abstraction for interacting with the object’s
underlying data.
@property (getter=isRunning, readonly) BOOL running;
The goal of the @property directive is to make it easy to
create and configure properties by automatically
generating these accessor methods.
Protocol
A protocol is a group of related properties and methods
that can be implemented by any class. They are more
flexible than a normal class interface, since they let you
reuse a single API declaration in completely unrelated
classes.
Protocol Declaration
@protocol StreetLegal <NSObject>
- (void)signalStop;
- (void)signalLeftTurn;
- (void)signalRightTurn;
@end
Protocol Adoption
@interface Bicycle : NSObject <StreetLegal>
@end
@implementation
// Implement class methods
//Implement Protocol methods
@end
Categories
Categories are a way to split a single class definition into
multiple files. Their goal is to ease the burden of
maintaining large code bases by modularizing a class.
Categories work just like normal class definitions in that
they are composed of an interface and an implementation.
NSObject is the “root” object in Objective-C
No direct access to instance variables so we write
some get/set “instance methods”
Instance methods (affect internal state of class) are
preceded with a minus sign
“Class methods” (higher level functions) are
preceded with a plus sign e.g. create new class
Points To Remember
alloc is equivalent to C++ new but it also zeros all
variables
init should be applied to an instance before use
These are often combined in shorthand:
ComputerScience* ituCompSci = [[ComputerScience alloc]
init];
There is no garbage collection on the iPhone, so we
should release all of our instance memory.

More Related Content

What's hot

What's hot (20)

Java oops and fundamentals
Java oops and fundamentalsJava oops and fundamentals
Java oops and fundamentals
 
Classes and Objects in C#
Classes and Objects in C#Classes and Objects in C#
Classes and Objects in C#
 
object oriented programming using c++
 object oriented programming using c++ object oriented programming using c++
object oriented programming using c++
 
Inheritance
InheritanceInheritance
Inheritance
 
java interface and packages
java interface and packagesjava interface and packages
java interface and packages
 
Java Object Oriented Programming
Java Object Oriented Programming Java Object Oriented Programming
Java Object Oriented Programming
 
Programming Fundamentals With OOPs Concepts (Java Examples Based)
Programming Fundamentals With OOPs Concepts (Java Examples Based)Programming Fundamentals With OOPs Concepts (Java Examples Based)
Programming Fundamentals With OOPs Concepts (Java Examples Based)
 
Packages and interfaces
Packages and interfacesPackages and interfaces
Packages and interfaces
 
OOP java
OOP javaOOP java
OOP java
 
C# Types of classes
C# Types of classesC# Types of classes
C# Types of classes
 
Method overloading and constructor overloading in java
Method overloading and constructor overloading in javaMethod overloading and constructor overloading in java
Method overloading and constructor overloading in java
 
OOPs Concepts - Android Programming
OOPs Concepts - Android ProgrammingOOPs Concepts - Android Programming
OOPs Concepts - Android Programming
 
Oops in vb
Oops in vbOops in vb
Oops in vb
 
Java basic concept
Java basic conceptJava basic concept
Java basic concept
 
Java OOP Programming language (Part 6) - Abstract Class & Interface
Java OOP Programming language (Part 6) - Abstract Class & InterfaceJava OOP Programming language (Part 6) - Abstract Class & Interface
Java OOP Programming language (Part 6) - Abstract Class & Interface
 
OOPS in Java
OOPS in JavaOOPS in Java
OOPS in Java
 
Oops in java
Oops in javaOops in java
Oops in java
 
OOPS Characteristics (With Examples in PHP)
OOPS Characteristics (With Examples in PHP)OOPS Characteristics (With Examples in PHP)
OOPS Characteristics (With Examples in PHP)
 
Oops abap fundamental
Oops abap fundamentalOops abap fundamental
Oops abap fundamental
 
Object Oriented Programming In .Net
Object Oriented Programming In .NetObject Oriented Programming In .Net
Object Oriented Programming In .Net
 

Viewers also liked (10)

MobileCity:Introduction to IOS
MobileCity:Introduction to IOSMobileCity:Introduction to IOS
MobileCity:Introduction to IOS
 
Developing Applications on iOS
Developing Applications on iOSDeveloping Applications on iOS
Developing Applications on iOS
 
How & where to start iOS development?
How & where to start iOS development?How & where to start iOS development?
How & where to start iOS development?
 
Introduction to iOS Apps Development
Introduction to iOS Apps DevelopmentIntroduction to iOS Apps Development
Introduction to iOS Apps Development
 
iOS Introduction For Very Beginners
iOS Introduction For Very BeginnersiOS Introduction For Very Beginners
iOS Introduction For Very Beginners
 
Introduction to iOS Development
Introduction to iOS DevelopmentIntroduction to iOS Development
Introduction to iOS Development
 
Никита Корчагин - Introduction to Apple iOS Development.
Никита Корчагин - Introduction to Apple iOS Development.Никита Корчагин - Introduction to Apple iOS Development.
Никита Корчагин - Introduction to Apple iOS Development.
 
iOS Development - A Beginner Guide
iOS Development - A Beginner GuideiOS Development - A Beginner Guide
iOS Development - A Beginner Guide
 
Presentation on iOS
Presentation on iOSPresentation on iOS
Presentation on iOS
 
Apple iOS
Apple iOSApple iOS
Apple iOS
 

Similar to iOS development introduction

Understanding And Using Reflection
Understanding And Using ReflectionUnderstanding And Using Reflection
Understanding And Using Reflection
Ganesh Samarthyam
 
Object oriented basics
Object oriented basicsObject oriented basics
Object oriented basics
vamshimahi
 
ActionScript 3.0 Fundamentals
ActionScript 3.0 FundamentalsActionScript 3.0 Fundamentals
ActionScript 3.0 Fundamentals
Saurabh Narula
 

Similar to iOS development introduction (20)

iOS Application Development
iOS Application DevelopmentiOS Application Development
iOS Application Development
 
Java notes
Java notesJava notes
Java notes
 
Cocoa and MVC in ios, iOS Training Ahmedbad , iOS classes Ahmedabad
Cocoa and MVC in ios, iOS Training Ahmedbad , iOS classes Ahmedabad Cocoa and MVC in ios, iOS Training Ahmedbad , iOS classes Ahmedabad
Cocoa and MVC in ios, iOS Training Ahmedbad , iOS classes Ahmedabad
 
Introduction to object oriented programming concepts
Introduction to object oriented programming conceptsIntroduction to object oriented programming concepts
Introduction to object oriented programming concepts
 
Object-oriented programming (OOP) with Complete understanding modules
Object-oriented programming (OOP) with Complete understanding modulesObject-oriented programming (OOP) with Complete understanding modules
Object-oriented programming (OOP) with Complete understanding modules
 
My c++
My c++My c++
My c++
 
Java notes jkuat it
Java notes jkuat itJava notes jkuat it
Java notes jkuat it
 
Java notes(OOP) jkuat IT esection
Java notes(OOP) jkuat IT esectionJava notes(OOP) jkuat IT esection
Java notes(OOP) jkuat IT esection
 
Intro to iOS Development • Made by Many
Intro to iOS Development • Made by ManyIntro to iOS Development • Made by Many
Intro to iOS Development • Made by Many
 
Understanding And Using Reflection
Understanding And Using ReflectionUnderstanding And Using Reflection
Understanding And Using Reflection
 
Objective c
Objective cObjective c
Objective c
 
Object oriented basics
Object oriented basicsObject oriented basics
Object oriented basics
 
ActionScript 3.0 Fundamentals
ActionScript 3.0 FundamentalsActionScript 3.0 Fundamentals
ActionScript 3.0 Fundamentals
 
201005 accelerometer and core Location
201005 accelerometer and core Location201005 accelerometer and core Location
201005 accelerometer and core Location
 
Java interview questions and answers
Java interview questions and answersJava interview questions and answers
Java interview questions and answers
 
C# program structure
C# program structureC# program structure
C# program structure
 
Abap object-oriented-programming-tutorials
Abap object-oriented-programming-tutorialsAbap object-oriented-programming-tutorials
Abap object-oriented-programming-tutorials
 
OOPM Introduction.ppt
OOPM Introduction.pptOOPM Introduction.ppt
OOPM Introduction.ppt
 
SMI - Introduction to Java
SMI - Introduction to JavaSMI - Introduction to Java
SMI - Introduction to Java
 
Opp concept in c++
Opp concept in c++Opp concept in c++
Opp concept in c++
 

More from paramisoft (9)

Go language presentation
Go language presentationGo language presentation
Go language presentation
 
Ruby on Rails Introduction
Ruby on Rails IntroductionRuby on Rails Introduction
Ruby on Rails Introduction
 
Introduction To Backbone JS
Introduction To Backbone JSIntroduction To Backbone JS
Introduction To Backbone JS
 
Git essentials
Git essentials Git essentials
Git essentials
 
Introduction to HAML
Introduction to  HAML Introduction to  HAML
Introduction to HAML
 
Desing pattern prototype-Factory Method, Prototype and Builder
Desing pattern prototype-Factory Method, Prototype and Builder Desing pattern prototype-Factory Method, Prototype and Builder
Desing pattern prototype-Factory Method, Prototype and Builder
 
Design pattern (Abstract Factory & Singleton)
Design pattern (Abstract Factory & Singleton)Design pattern (Abstract Factory & Singleton)
Design pattern (Abstract Factory & Singleton)
 
ParamiSoft Systems Pvt. Ltd. Profile
ParamiSoft Systems Pvt. Ltd. ProfileParamiSoft Systems Pvt. Ltd. Profile
ParamiSoft Systems Pvt. Ltd. Profile
 
Garden City Ruby Conference - lightening talk
Garden City Ruby Conference - lightening talkGarden City Ruby Conference - lightening talk
Garden City Ruby Conference - lightening talk
 

Recently uploaded

AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
VictorSzoltysek
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
VishalKumarJha10
 

Recently uploaded (20)

BUS PASS MANGEMENT SYSTEM USING PHP.pptx
BUS PASS MANGEMENT SYSTEM USING PHP.pptxBUS PASS MANGEMENT SYSTEM USING PHP.pptx
BUS PASS MANGEMENT SYSTEM USING PHP.pptx
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
Chinsurah Escorts ☎️8617697112 Starting From 5K to 15K High Profile Escorts ...
Chinsurah Escorts ☎️8617697112  Starting From 5K to 15K High Profile Escorts ...Chinsurah Escorts ☎️8617697112  Starting From 5K to 15K High Profile Escorts ...
Chinsurah Escorts ☎️8617697112 Starting From 5K to 15K High Profile Escorts ...
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
 
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students
 
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
 
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
The Top App Development Trends Shaping the Industry in 2024-25 .pdf
The Top App Development Trends Shaping the Industry in 2024-25 .pdfThe Top App Development Trends Shaping the Industry in 2024-25 .pdf
The Top App Development Trends Shaping the Industry in 2024-25 .pdf
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
Sector 18, Noida Call girls :8448380779 Model Escorts | 100% verified
Sector 18, Noida Call girls :8448380779 Model Escorts | 100% verifiedSector 18, Noida Call girls :8448380779 Model Escorts | 100% verified
Sector 18, Noida Call girls :8448380779 Model Escorts | 100% verified
 
10 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 202410 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 2024
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
 
ManageIQ - Sprint 236 Review - Slide Deck
ManageIQ - Sprint 236 Review - Slide DeckManageIQ - Sprint 236 Review - Slide Deck
ManageIQ - Sprint 236 Review - Slide Deck
 

iOS development introduction

  • 1. Introduction To iOS Application Development iOS Application Development
  • 2. What is iOS ? What are the requirement to develop iOS application ? What is Objective C ? How to develop Simple iOS Application ?
  • 3. What is iOS ? iOS which was previously called iPhone OS is a mobile operating system developed by Apple . Its first release was in 2007 which included iPhone and iPod Touch. iPad (1st Generation) was released in the April 2010 and iPad mini was released in November 2012 . iOS is derived from OS X, with which it shares the Darwin foundation.
  • 4. Requirements Must have a mac . Xcode Xcode is Apple’s integrated development environment (IDE). Xcode includes a source editor, a graphical user interface editor, and many other features. iOS SDK .
  • 5. Objective C The language used in iOS development is objective C. Its additions to C language and mostly based on Smalltalk, one of the first object-oriented programming languages. Objective-C is a simple language. Its syntax is small, unambiguous, and easy to learn . Class Instance. Instance Variable Method
  • 7. Class In objective C the file where the declaration of class is done is called the interface file and the file where the class is defined is called the implementation file. A simple interface file MyClass.h would look like the following. @interface MyClass : NSObject{ // class variable declared here } // class properties declared here // class methods and instance methods declared here @end
  • 8. The implementation file MyClass.m would be like follows @implementation MyClass // class methods defined here @end
  • 9. Instance Object creation is done as follows MyClass *objectName = [[MyClass alloc]init] ; Instance Variable Declaration @interface MyClass : NSObject{ // Instance variable declared here } // class properties declared here // class methods and instance methods declared here @end Instance Variables
  • 10. Methods Instance Method Method is declared in objective C as follows -(returnType) methodName : (typeName) variable1 : (typeName)variable2; To call this method in the same class we use the following statement [self calculateAreaForRectangleWithLength:30 andBreadth:20];
  • 11. Class method Class methods can be accessed directly without creating objects for the class. They don't have any objects associated with it. An example is shown below. +(void)simpleClassMethod; It can be accessed by using the class name [MyClass simpleClassMethod];
  • 13. An object’s properties let other objects inspect or change its state. Accessor methods (getters and setters) are used as an abstraction for interacting with the object’s underlying data. @property (getter=isRunning, readonly) BOOL running; The goal of the @property directive is to make it easy to create and configure properties by automatically generating these accessor methods.
  • 14. Protocol A protocol is a group of related properties and methods that can be implemented by any class. They are more flexible than a normal class interface, since they let you reuse a single API declaration in completely unrelated classes. Protocol Declaration @protocol StreetLegal <NSObject> - (void)signalStop; - (void)signalLeftTurn; - (void)signalRightTurn; @end
  • 15. Protocol Adoption @interface Bicycle : NSObject <StreetLegal> @end @implementation // Implement class methods //Implement Protocol methods @end
  • 16. Categories Categories are a way to split a single class definition into multiple files. Their goal is to ease the burden of maintaining large code bases by modularizing a class. Categories work just like normal class definitions in that they are composed of an interface and an implementation.
  • 17. NSObject is the “root” object in Objective-C No direct access to instance variables so we write some get/set “instance methods” Instance methods (affect internal state of class) are preceded with a minus sign “Class methods” (higher level functions) are preceded with a plus sign e.g. create new class Points To Remember
  • 18. alloc is equivalent to C++ new but it also zeros all variables init should be applied to an instance before use These are often combined in shorthand: ComputerScience* ituCompSci = [[ComputerScience alloc] init]; There is no garbage collection on the iPhone, so we should release all of our instance memory.