SlideShare uma empresa Scribd logo
1 de 24
iOS Application Development by  Neha Goel
Agenda ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
How to develop an application ?
STEP 1: Get a Mac System ,[object Object]
STEP 2: Learn Objective C ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Create Interface File (.h) ,[object Object],[object Object],@interface classname : superclass{ // instance variables(class members); } + (return_type) classMethod; + (return_type) classMethod1WithParameter1:(parm1_type)parm1 parameter2:(parm2_type)parm2; -  (return_type) instanceMethod1WithParameter1:(parm1_type)parm1 parameter2:(parm2_type)parm2; @end In the above,  plus signs denote  class methods (class static functions),  or methods that can be called without an instance of the class, and minus signs denote  instance methods (instance member functions),  which can only be called within a particular instance of the class. Class methods also have no access to instance variables. (int) addWithOperand1: (int) op1 operand2: (int) op2;  (Objective-C Syntax) int add (int op1,op2);    (C Syntax)
Create  Implementation File (.m) ,[object Object],#import “classname.h” @implementation classname  + (return_type)classMethod { // implementation  } - (return_type)instanceMethod { // implementation  }  @end  Objective-C: (int) method :(int) i { return [self square_root:i]; }  C : int function (int i) {  return square_root(i);  }
Methods ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Sending the message  method  to the object pointed to by the pointer  obj  would require the following code in C++: obj->method(argument);  In Objective-C, this is written as follows: [obj method: argument];
Instantiation ,[object Object],[object Object],[object Object],[object Object]
Init Equals to CONSTRUCTOR in C++ -(id)initWithName : (NSString *)  newN ame{ self=[super init]; if(self){ self.name=newName; } return self; } -(id)init{ self=[super init]; if(self){ } return self; }
Properties ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],@interface Person : NSObject {  NSString *name;  int age;  } @property(copy) NSString *name; @property(readonly) int age; -(id)initWithAge:(int)age;  @end  Properties are implemented by way of the  @synthesize  keyword, which generates getter and setter methods according to the property declaration. @implementation Person  @synthesize name;
self Keyword self.name= @”MyName” It is equivalent to: [self setName:@”MyName”]; name= @”MyName” Assignment to iVar name. getter setter NSString *tempName=nil; tempName=self.name; It is equivalent to: tempName=[self name];
Accessing Properties ,[object Object],[object Object],Person *aPerson = [[Person alloc] initWithAge: 53];  aPerson.name = @"Steve";  //  NOTE:   dot notation, uses synthesized setter, equivalent to [aPerson setName: @"Steve"]; NSLog(@"Access by message (%@), dot notation(%@), property name(%@) and direct instance variable access (%@)", [aPerson name],  aPerson.name,  [aPerson valueForKey:@"name"],  aPerson->name);
Protocols ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Syntax ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
id Data Type ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],@interface LinkedListNode : NSObject{ id data; LinkedListNode *next;  }  - (id) data; - (LinkedListNode *) next; @end
Cocoa/Cocoa Touch Cocoa is an application environment for both the Mac OS X operating system and iOS, the operating system used on Multi-Touch devices such as iPhone, iPad, and iPod touch. It consists of a suite of object-oriented software libraries, a runtime system, and an integrated development environment.  Cocoa in the architecture of iOS
Core OS ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Core Services ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Media ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Cocoa Touch ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Model View Controller(Composite Design Pattern) App Delegate( .h/.m) ViewController (.h/.m) View (.xib) Model(.h/.m)
Lets build Hello World ! ,[object Object]
 

Mais conteúdo relacionado

Mais procurados

Chapter1pp
Chapter1ppChapter1pp
Chapter1pp
J. C.
 
Programming in c++
Programming in c++Programming in c++
Programming in c++
Baljit Saini
 
Oop c++class(final).ppt
Oop c++class(final).pptOop c++class(final).ppt
Oop c++class(final).ppt
Alok Kumar
 
C++ OOP Implementation
C++ OOP ImplementationC++ OOP Implementation
C++ OOP Implementation
Fridz Felisco
 

Mais procurados (20)

C#ppt
C#pptC#ppt
C#ppt
 
C by balaguruswami - e.balagurusamy
C   by balaguruswami - e.balagurusamyC   by balaguruswami - e.balagurusamy
C by balaguruswami - e.balagurusamy
 
C++ Object Oriented Programming
C++  Object Oriented ProgrammingC++  Object Oriented Programming
C++ Object Oriented Programming
 
Chapter1pp
Chapter1ppChapter1pp
Chapter1pp
 
C++ programing lanuage
C++ programing lanuageC++ programing lanuage
C++ programing lanuage
 
Programming in c++
Programming in c++Programming in c++
Programming in c++
 
Object Oriented Programming using C++ Part I
Object Oriented Programming using C++ Part IObject Oriented Programming using C++ Part I
Object Oriented Programming using C++ Part I
 
Andy On Closures
Andy On ClosuresAndy On Closures
Andy On Closures
 
Oop c++class(final).ppt
Oop c++class(final).pptOop c++class(final).ppt
Oop c++class(final).ppt
 
9054799 dzone-refcard267-kotlin
9054799 dzone-refcard267-kotlin9054799 dzone-refcard267-kotlin
9054799 dzone-refcard267-kotlin
 
pebble - Building apps on pebble
pebble - Building apps on pebblepebble - Building apps on pebble
pebble - Building apps on pebble
 
Java OOP Concepts 1st Slide
Java OOP Concepts 1st SlideJava OOP Concepts 1st Slide
Java OOP Concepts 1st Slide
 
C++ OOP Implementation
C++ OOP ImplementationC++ OOP Implementation
C++ OOP Implementation
 
Object Oriented Programming using JAVA Notes
Object Oriented Programming using JAVA Notes Object Oriented Programming using JAVA Notes
Object Oriented Programming using JAVA Notes
 
Classes and data abstraction
Classes and data abstractionClasses and data abstraction
Classes and data abstraction
 
Domain-Specific Languages
Domain-Specific LanguagesDomain-Specific Languages
Domain-Specific Languages
 
Dart workshop
Dart workshopDart workshop
Dart workshop
 
Java Basics
Java BasicsJava Basics
Java Basics
 
C++ Interview Questions
C++ Interview QuestionsC++ Interview Questions
C++ Interview Questions
 
Operator Overloading and Scope of Variable
Operator Overloading and Scope of VariableOperator Overloading and Scope of Variable
Operator Overloading and Scope of Variable
 

Destaque

Conferencia Desarrollo de Aplicaciones iOS (Ecuador)
Conferencia Desarrollo de Aplicaciones iOS (Ecuador)Conferencia Desarrollo de Aplicaciones iOS (Ecuador)
Conferencia Desarrollo de Aplicaciones iOS (Ecuador)
Nelson Cruz Mora
 
0032 aplicaciones para_dispositivos_ios
0032 aplicaciones para_dispositivos_ios0032 aplicaciones para_dispositivos_ios
0032 aplicaciones para_dispositivos_ios
GeneXus
 

Destaque (20)

Rankig prévio classificados polo sobral ce caixa 2014
Rankig prévio classificados polo sobral ce caixa 2014Rankig prévio classificados polo sobral ce caixa 2014
Rankig prévio classificados polo sobral ce caixa 2014
 
iOS 7 Beginner Workshop
iOS 7 Beginner WorkshopiOS 7 Beginner Workshop
iOS 7 Beginner Workshop
 
Conferencia Desarrollo de Aplicaciones iOS (Ecuador)
Conferencia Desarrollo de Aplicaciones iOS (Ecuador)Conferencia Desarrollo de Aplicaciones iOS (Ecuador)
Conferencia Desarrollo de Aplicaciones iOS (Ecuador)
 
desarrollo de aplicaciones para ios
desarrollo de aplicaciones para iosdesarrollo de aplicaciones para ios
desarrollo de aplicaciones para ios
 
Ios.s2
Ios.s2Ios.s2
Ios.s2
 
iOS development, Ahti Liin, Mooncascade OÜ @ MoMo Tallinn 11.04.11
iOS development, Ahti Liin, Mooncascade OÜ @ MoMo Tallinn 11.04.11iOS development, Ahti Liin, Mooncascade OÜ @ MoMo Tallinn 11.04.11
iOS development, Ahti Liin, Mooncascade OÜ @ MoMo Tallinn 11.04.11
 
I os
I osI os
I os
 
Ios.s5
Ios.s5Ios.s5
Ios.s5
 
Charla desarrollo de aplicaciones en iOS para iPhone y iPad
Charla desarrollo de aplicaciones en iOS para iPhone y iPadCharla desarrollo de aplicaciones en iOS para iPhone y iPad
Charla desarrollo de aplicaciones en iOS para iPhone y iPad
 
Ios
IosIos
Ios
 
0032 aplicaciones para_dispositivos_ios
0032 aplicaciones para_dispositivos_ios0032 aplicaciones para_dispositivos_ios
0032 aplicaciones para_dispositivos_ios
 
Ios.s1
Ios.s1Ios.s1
Ios.s1
 
Desarrollo para iPhone y iPad con Flash CS5
Desarrollo para iPhone y iPad con Flash CS5Desarrollo para iPhone y iPad con Flash CS5
Desarrollo para iPhone y iPad con Flash CS5
 
CodeWithChris Q&A: I Have an App Idea. Where Do I Start?
CodeWithChris Q&A: I Have an App Idea. Where Do I Start?CodeWithChris Q&A: I Have an App Idea. Where Do I Start?
CodeWithChris Q&A: I Have an App Idea. Where Do I Start?
 
Building second screen TV apps
Building second screen TV appsBuilding second screen TV apps
Building second screen TV apps
 
Hello World Program in xcode ,IOS Development using swift
Hello World Program in xcode ,IOS Development using swiftHello World Program in xcode ,IOS Development using swift
Hello World Program in xcode ,IOS Development using swift
 
SISTEMA OPERATIVO IOS
SISTEMA OPERATIVO IOSSISTEMA OPERATIVO IOS
SISTEMA OPERATIVO IOS
 
Servidor y cliente iOS en 45min
Servidor y cliente iOS en 45minServidor y cliente iOS en 45min
Servidor y cliente iOS en 45min
 
iOS - Overview of Mobile Application Developement
iOS - Overview of Mobile Application Developement iOS - Overview of Mobile Application Developement
iOS - Overview of Mobile Application Developement
 
End-to-end Mobile App Development (with iOS and Azure Mobile Services)
End-to-end Mobile App Development (with iOS and Azure Mobile Services)End-to-end Mobile App Development (with iOS and Azure Mobile Services)
End-to-end Mobile App Development (with iOS and Azure Mobile Services)
 

Semelhante a iOS Application Development

ActionScript 3.0 Fundamentals
ActionScript 3.0 FundamentalsActionScript 3.0 Fundamentals
ActionScript 3.0 Fundamentals
Saurabh Narula
 
Presentation 1st
Presentation 1stPresentation 1st
Presentation 1st
Connex
 
C Sharp: Basic to Intermediate Part 01
C Sharp: Basic to Intermediate Part 01C Sharp: Basic to Intermediate Part 01
C Sharp: Basic to Intermediate Part 01
Zafor Iqbal
 
Smoothing Your Java with DSLs
Smoothing Your Java with DSLsSmoothing Your Java with DSLs
Smoothing Your Java with DSLs
intelliyole
 
Runtime Environment Of .Net Divya Rathore
Runtime Environment Of .Net Divya RathoreRuntime Environment Of .Net Divya Rathore
Runtime Environment Of .Net Divya Rathore
Esha Yadav
 

Semelhante a iOS Application Development (20)

iOS development introduction
iOS development introduction iOS development introduction
iOS development introduction
 
201005 accelerometer and core Location
201005 accelerometer and core Location201005 accelerometer and core Location
201005 accelerometer and core Location
 
Unit 5.ppt
Unit 5.pptUnit 5.ppt
Unit 5.ppt
 
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
 
ActionScript 3.0 Fundamentals
ActionScript 3.0 FundamentalsActionScript 3.0 Fundamentals
ActionScript 3.0 Fundamentals
 
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
 
OOC MODULE1.pptx
OOC MODULE1.pptxOOC MODULE1.pptx
OOC MODULE1.pptx
 
Synapseindia dot net development
Synapseindia dot net developmentSynapseindia dot net development
Synapseindia dot net development
 
Objective c
Objective cObjective c
Objective c
 
Unit 1 - TypeScript & Introduction to Angular CLI.pptx
Unit 1 - TypeScript & Introduction to Angular CLI.pptxUnit 1 - TypeScript & Introduction to Angular CLI.pptx
Unit 1 - TypeScript & Introduction to Angular CLI.pptx
 
Typescript language extension of java script
Typescript language extension of java scriptTypescript language extension of java script
Typescript language extension of java script
 
Objective c intro (1)
Objective c intro (1)Objective c intro (1)
Objective c intro (1)
 
Bcsl 031 solve assignment
Bcsl 031 solve assignmentBcsl 031 solve assignment
Bcsl 031 solve assignment
 
Presentation 1st
Presentation 1stPresentation 1st
Presentation 1st
 
C Sharp: Basic to Intermediate Part 01
C Sharp: Basic to Intermediate Part 01C Sharp: Basic to Intermediate Part 01
C Sharp: Basic to Intermediate Part 01
 
My c++
My c++My c++
My c++
 
Smoothing Your Java with DSLs
Smoothing Your Java with DSLsSmoothing Your Java with DSLs
Smoothing Your Java with DSLs
 
Runtime Environment Of .Net Divya Rathore
Runtime Environment Of .Net Divya RathoreRuntime Environment Of .Net Divya Rathore
Runtime Environment Of .Net Divya Rathore
 
Srgoc dotnet
Srgoc dotnetSrgoc dotnet
Srgoc dotnet
 

Mais de Compare Infobase Limited

How to increase effective CTR, CPC and e CPM of website?
How to increase effective CTR, CPC and e CPM of website?How to increase effective CTR, CPC and e CPM of website?
How to increase effective CTR, CPC and e CPM of website?
Compare Infobase Limited
 
How do speed up web pages? CSS & HTML Tricks
How do speed up web pages? CSS & HTML TricksHow do speed up web pages? CSS & HTML Tricks
How do speed up web pages? CSS & HTML Tricks
Compare Infobase Limited
 

Mais de Compare Infobase Limited (20)

Google +
Google +Google +
Google +
 
J Query
J QueryJ Query
J Query
 
Dos and Don't during Monsoon!
Dos and Don't during Monsoon!Dos and Don't during Monsoon!
Dos and Don't during Monsoon!
 
Intellectual Property Rights : A Primer
Intellectual Property Rights : A PrimerIntellectual Property Rights : A Primer
Intellectual Property Rights : A Primer
 
CIL initiative against Corruption
CIL initiative against CorruptionCIL initiative against Corruption
CIL initiative against Corruption
 
Cloud Computing
Cloud ComputingCloud Computing
Cloud Computing
 
Arrays in PHP
Arrays in PHPArrays in PHP
Arrays in PHP
 
Storage and Storage Devices
Storage and Storage DevicesStorage and Storage Devices
Storage and Storage Devices
 
SQL Injection Attacks
SQL Injection AttacksSQL Injection Attacks
SQL Injection Attacks
 
World No Tobacco Day
World No Tobacco DayWorld No Tobacco Day
World No Tobacco Day
 
Tips for Effective Online Marketing
Tips for Effective Online Marketing Tips for Effective Online Marketing
Tips for Effective Online Marketing
 
Have a safe Summer!
Have a safe Summer!Have a safe Summer!
Have a safe Summer!
 
Introduction to Android Environment
Introduction to Android EnvironmentIntroduction to Android Environment
Introduction to Android Environment
 
MySQL Functions
MySQL FunctionsMySQL Functions
MySQL Functions
 
Software Development Life Cycle Part II
Software Development Life Cycle Part IISoftware Development Life Cycle Part II
Software Development Life Cycle Part II
 
Excel with Excel
Excel with ExcelExcel with Excel
Excel with Excel
 
Software Development Life Cycle (SDLC)
Software Development Life Cycle (SDLC)Software Development Life Cycle (SDLC)
Software Development Life Cycle (SDLC)
 
How to increase effective CTR, CPC and e CPM of website?
How to increase effective CTR, CPC and e CPM of website?How to increase effective CTR, CPC and e CPM of website?
How to increase effective CTR, CPC and e CPM of website?
 
How do speed up web pages? CSS & HTML Tricks
How do speed up web pages? CSS & HTML TricksHow do speed up web pages? CSS & HTML Tricks
How do speed up web pages? CSS & HTML Tricks
 
Social Media Integration
Social Media IntegrationSocial Media Integration
Social Media Integration
 

Último

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
giselly40
 

Último (20)

The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 

iOS Application Development

  • 2.
  • 3. How to develop an application ?
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10. Init Equals to CONSTRUCTOR in C++ -(id)initWithName : (NSString *) newN ame{ self=[super init]; if(self){ self.name=newName; } return self; } -(id)init{ self=[super init]; if(self){ } return self; }
  • 11.
  • 12. self Keyword self.name= @”MyName” It is equivalent to: [self setName:@”MyName”]; name= @”MyName” Assignment to iVar name. getter setter NSString *tempName=nil; tempName=self.name; It is equivalent to: tempName=[self name];
  • 13.
  • 14.
  • 15.
  • 16.
  • 17. Cocoa/Cocoa Touch Cocoa is an application environment for both the Mac OS X operating system and iOS, the operating system used on Multi-Touch devices such as iPhone, iPad, and iPod touch. It consists of a suite of object-oriented software libraries, a runtime system, and an integrated development environment. Cocoa in the architecture of iOS
  • 18.
  • 19.
  • 20.
  • 21.
  • 22. Model View Controller(Composite Design Pattern) App Delegate( .h/.m) ViewController (.h/.m) View (.xib) Model(.h/.m)
  • 23.
  • 24.