SlideShare a Scribd company logo
Introduction to iOS
Components of Computer System
RAM
(Random Access Memory)
Disk
(Hard Disk Drive)
CPU
(Central Processing Unit)
How a computer reads our code
Objective-C
This is what our source code is written in.
Compiler
Object Code
(otherwise known as Binary)
eg: 0110001010110101
RAM:
The place where applications run. Computers are
restrained by memory and 80% of program crashes
relate to memory.
Disk:
This is where applications that are not running reside
along with user data.
CPU:
The processor that runs and executes programs
iPhone and iPad
iOS Stack
Core OS
Core Services
Media
Coca Touch
High Level
(Objective C)
Low Level
(C)
Tools
Integrated Development Environment (IDE): Xcode
(Code Editor)
Programming Languages: C, C++, Objective-C and Swift
Main
Other Programs
Instruments, Memory Allocation & Leaks
Exercise 1
Hello World
Step 1: Start a new project in Xcode
Step 2: Navigate to the App Delegate.m file
Step 3: Add the following code:
Step 4: Build and Run!
Part 2
Programming Basics
Variables: Variables are a container that holds some kind of
value.
for example: int myVar = 1;
We now have a variable called myVar and its value is equal to 1;
Functions: Functions are the way a system performs some kind
of action. These can either return a value or not.
Example 1:
int myVar = 1;
[self myFunction];
(void)myFunction
{
myVar = 2;
}
Example 2:
int myVar = 1;
myVar = [self myFunction];
(int)myFunction
{
return 2;
}
Parameters: Parameters are variables passed into a function for
it to do some computation with.
Example 1:
int myVar = 1;
int otherNumber = 20;
int total = [self addNumbers: myVar and: otherNumber];
(int)addNumbers:(int)firstNumber and:(int)secondNumber
{
int result = firstNumber + secondNumber;
return variable;
}
total would equal 21.
C Programming in 1 Slide
Integer
Loops
Array
If Then
Switch
Struct
Preprocessor
Processes the source code before it gets compiled.
Preprocessor performs a search &replace to all occurrences of the name with its value.
Loads all the content of a file into the current file. - Watch out for circular dependancies!
Objective-C: Loads all the content of a file into the current file. Automatically handles circular dependanci
Compiler Specific instructions. Often used as a way for you to easily navigate the code file.
Objective-C
Classes
Objective C is object orientated
This means the source code is split up into files called clas
An Objective C Class has Two Files:
A interface file (.h)
(otherwise known as a header)
A Implementation file (.m)
@implementation ViewController
@end
@interface ViewController : UIViewController
@end
A Header is the public file.
It is where we declare methods and
variables for use by other classes
The Implementation file is where
the logic for the declared methods
goes.
Objective-C: Sending Messages
We want to be able to send messages to a class when tryi
The way we do that is like:
[myClass doSomething];
Objective-C: Sending Messages
With Parameters
If we want to call a function with Parameters we call:
[myClass doSomething: @“aString”];
Objective-C: Sending Messages
With Multiple Parameters
If we want to call a function with Parameters we call:
[myClass doSomethingWith This:@“FirstString”
andThis:@“SecondString”];
Objective-C: Instantiating Objects
When we want to use a class we need to create a
instance of that class in memory. We do that by
calling the classes init method, which stands for
instantiate.
MyClass *object = [[MyClass alloc]init];
NOTE: we called two methods on this alloc and init.
‘alloc’ is the function that allocates the memory
required for the object and then init sets it up.
Objective-C: More Classes
When we alloc and init a class the system sets us
up an instance of our class and then returns a
pointer to its location in memory.
You can have multiple instances of a class.
There are some classes called singletons however. This
means that there is only one of them in the application. An
example of this is the App Delegate.
Objective-C: Singleton Classes
This is something you will come across more as
you go forward however the main one you will
encounter is your AppDelegate.
One use of a singleton is if you have a variable that
needs to be accused through the app then you
would declare it there.
Objective-C: Memory Management
Since were are allocating memory all over the
place we need to clear this up so that other parts of
the program can use it. If we don’t its called a
memory leak.
The good news is that these days Apple has
created something called Automatic Reference
Counting (ARC) which does this for us. We will
cover this more later.
Objective-C: Getters / Setters
Getters and Setters are fairly self explanatory. They
are the methods you would call on your class to get
a value or set a value.
Example:
MyClass *object = [[MyClass alloc]init];
[object setRating:9.5];
double theRating = [object rating];
Objective-C: Getters / Setters
Interface (.h)
Objective-C: Getters / Setters
Implementation (.m)
Objective-C: Properties
More Good News!!!
Apple has created something called properties.
When you declare on of these in the implementation file
it will create the getters and setters behind the scene
We’ll look at these in more depth in the next slide but the main thing here is to see how th
Objective-C: Properties
How do we call a property?
We use something called Dot Notation
MyClass *object = [[MyClass alloc]init];
object.rating = 9.5;
Objective-C: Properties / Memory
Ok back to Memory as Promised
As promised here is the rest of the memory stuff to get to grips with. With ARC iOS will k
This makes our life much easier however we need to help it a bit by telling it what needs
An object can have any of the following:
Strong
Weak
Nonatomic
Atomic
Strong: Keeps the object around as long as
the class is alive and pointing to it.
Weak: Keeps the object around as long as
another object is pointing to it strongly.
Objective-C: Properties / Memory II
Atomic/ Nonatomic:
-atomic is the default, which provides support for using this property
in multiple treads (at no extra cost).
Objective-C: Foundation Classes
In Objective-C we have the same data types as in other lang
Common Objective C object types:
NSString
NSArray
NSDictionary
NSDate
NSNumber
NSData
Immutable
NSMutableString
NSMutableArray
NSMutableDictionary
NSDate
NSNumber
NSData
Mutable
Objective-C: Foundation Classes II
Each one of the types in objective C have a class associate
In those classes are properties such as ‘length’ for NSString
As well as Getters and Setters.
Inheritance and Polymorphism
Inheritance is something that you will encounter at all over ob
Its actually more simple that it looks:
(known as a parent class). This means that the class has all t
Inheritance and Polymorphism
Vehicle
Car BattleShip
Vehicle.h
-(void)move
-(void)turnLeft
-(void)turnRight
BattleShip.h
-(void)shoot
Car.h
-(void)Park
Inheritance and Polymorphism
instance of a class can also be treated as an instance of any
Coca-Touch: Model View Controller
In iOS the standard way to design your app is using someth
It breaks down like this:
Model: Data and Business Rules
View: User Interface Elements
Controller: Behaviour and referee between the model and th
Coca-Touch: Model View Controller
Model View
Controller
UI Storyboard
ViewController.h
Concert.h
Model data source
could be:
File System
Database
Web Service
Core Data
Demo
iOS course day 1
• String with format
• App Coda
• Ray Weinerlich

More Related Content

PDF
Lec 4 06_aug [compatibility mode]
Palak Sanghani
 
PPTX
Core java online training
Glory IT Technologies Pvt. Ltd.
 
PPTX
Intro To C++ - Class 2 - An Introduction To C++
Blue Elephant Consulting
 
PDF
ознакомления с модулем Entity api
DrupalCamp Kyiv Рысь
 
DOCX
Java notes
Upasana Talukdar
 
PPT
Unit 2 Java
arnold 7490
 
PPTX
Java RMI
Ankit Desai
 
DOCX
Notes of java first unit
gowher172236
 
Lec 4 06_aug [compatibility mode]
Palak Sanghani
 
Core java online training
Glory IT Technologies Pvt. Ltd.
 
Intro To C++ - Class 2 - An Introduction To C++
Blue Elephant Consulting
 
ознакомления с модулем Entity api
DrupalCamp Kyiv Рысь
 
Java notes
Upasana Talukdar
 
Unit 2 Java
arnold 7490
 
Java RMI
Ankit Desai
 
Notes of java first unit
gowher172236
 

What's hot (20)

PDF
Object Oriented Programming -- Dr Robert Harle
suthi
 
DOC
OBJECT ORIENTED PROGRAMMING LANGUAGE - SHORT NOTES
suthi
 
PDF
Understanding the Entity API Module
Sergiu Savva
 
PPTX
Introduction to Java
Ashita Agrawal
 
PPTX
JAVA PROGRAMMING
Niyitegekabilly
 
PPT
Java Programming for Designers
R. Sosa
 
PDF
Basic Java Programming
Math-Circle
 
PDF
Introduction to java
Tajendar Arora
 
PPTX
Core java
Shivaraj R
 
PPTX
Intro To C++ - Class 05 - Introduction To Classes, Objects, & Strings
Blue Elephant Consulting
 
PDF
College Project - Java Disassembler - Description
Ganesh Samarthyam
 
PPTX
C# lecture 1: Introduction to Dot Net Framework
Dr.Neeraj Kumar Pandey
 
PPT
Java basic
Arati Gadgil
 
PPT
Fundamentals of JAVA
KUNAL GADHIA
 
PPT
Fundamentals of oop lecture 2
miiro30
 
DOCX
Core java notes with examples
bindur87
 
DOCX
C++ & Design Patterns - primera parte
Nikunj Parekh
 
PDF
Java programming material for beginners by Nithin, VVCE, Mysuru
Nithin Kumar,VVCE, Mysuru
 
PPTX
Introduction to JAVA
Mindsmapped Consulting
 
Object Oriented Programming -- Dr Robert Harle
suthi
 
OBJECT ORIENTED PROGRAMMING LANGUAGE - SHORT NOTES
suthi
 
Understanding the Entity API Module
Sergiu Savva
 
Introduction to Java
Ashita Agrawal
 
JAVA PROGRAMMING
Niyitegekabilly
 
Java Programming for Designers
R. Sosa
 
Basic Java Programming
Math-Circle
 
Introduction to java
Tajendar Arora
 
Core java
Shivaraj R
 
Intro To C++ - Class 05 - Introduction To Classes, Objects, & Strings
Blue Elephant Consulting
 
College Project - Java Disassembler - Description
Ganesh Samarthyam
 
C# lecture 1: Introduction to Dot Net Framework
Dr.Neeraj Kumar Pandey
 
Java basic
Arati Gadgil
 
Fundamentals of JAVA
KUNAL GADHIA
 
Fundamentals of oop lecture 2
miiro30
 
Core java notes with examples
bindur87
 
C++ & Design Patterns - primera parte
Nikunj Parekh
 
Java programming material for beginners by Nithin, VVCE, Mysuru
Nithin Kumar,VVCE, Mysuru
 
Introduction to JAVA
Mindsmapped Consulting
 
Ad

Viewers also liked (12)

PPTX
iOS Course day 2
Rich Allen
 
PDF
Mobile design matters - iOS and Android
Light Lin
 
PPT
Top 10 trends every iOS app development company should follow
iMOBDEV Technologies Pvt. Ltd.
 
PPTX
Android Training (Storing & Shared Preferences)
Khaled Anaqwa
 
PDF
SWIFT & IntelliMATCH
Paramjeet Singh
 
PDF
Architecting iOS Project
Massimo Oliviero
 
PPTX
iOS Coding Best Practices
Jean-Luc David
 
PDF
Mobile App Design course (iOS & Android)
3sidedcube
 
PDF
A swift introduction to Swift
Giordano Scalzo
 
PPTX
Apple iOS
Chetan Gowda
 
PDF
Swift Introduction
Natasha Murashev
 
PDF
Swift Programming Language
Giuseppe Arici
 
iOS Course day 2
Rich Allen
 
Mobile design matters - iOS and Android
Light Lin
 
Top 10 trends every iOS app development company should follow
iMOBDEV Technologies Pvt. Ltd.
 
Android Training (Storing & Shared Preferences)
Khaled Anaqwa
 
SWIFT & IntelliMATCH
Paramjeet Singh
 
Architecting iOS Project
Massimo Oliviero
 
iOS Coding Best Practices
Jean-Luc David
 
Mobile App Design course (iOS & Android)
3sidedcube
 
A swift introduction to Swift
Giordano Scalzo
 
Apple iOS
Chetan Gowda
 
Swift Introduction
Natasha Murashev
 
Swift Programming Language
Giuseppe Arici
 
Ad

Similar to iOS course day 1 (20)

PPTX
Objective of c in IOS , iOS Live Project Training Ahmedabad, MCA Live Project...
NicheTech Com. Solutions Pvt. Ltd.
 
PDF
CS8251_QB_answers.pdf
vino108206
 
PPTX
Interoduction to c++
Amresh Raj
 
DOCX
Cs6301 programming and datastactures
K.s. Ramesh
 
PPTX
iOS development introduction
paramisoft
 
PPTX
Introduction to Objective - C
Asim Rais Siddiqui
 
PPTX
Intro to C++ - Class 2 - Objects & Classes
Blue Elephant Consulting
 
PPTX
Intro To C++ - Class 14 - Midterm Review
Blue Elephant Consulting
 
PDF
Intro to iOS Development • Made by Many
kenatmxm
 
PPT
iOS Application Development
Compare Infobase Limited
 
PDF
Object Oriented Programming With C 2140705 Darshan All Unit Darshan Institute...
hslinaaltosh
 
PPTX
Chapter 1
siragezeynu
 
PPSX
SRAVANByCPP
aptechsravan
 
PPT
OOPM Introduction.ppt
vijay251387
 
PDF
Object-oriented programming (OOP) with Complete understanding modules
Durgesh Singh
 
PDF
OOP lesson1 and Variables.pdf
HouseMusica
 
PPT
iPhone development from a Java perspective (Jazoon '09)
Netcetera
 
PDF
Programming in Java Unit 1 lesson Notes for Java
ssuserd0b11b
 
PPTX
object oriented programming language in c++
Ravikant517175
 
Objective of c in IOS , iOS Live Project Training Ahmedabad, MCA Live Project...
NicheTech Com. Solutions Pvt. Ltd.
 
CS8251_QB_answers.pdf
vino108206
 
Interoduction to c++
Amresh Raj
 
Cs6301 programming and datastactures
K.s. Ramesh
 
iOS development introduction
paramisoft
 
Introduction to Objective - C
Asim Rais Siddiqui
 
Intro to C++ - Class 2 - Objects & Classes
Blue Elephant Consulting
 
Intro To C++ - Class 14 - Midterm Review
Blue Elephant Consulting
 
Intro to iOS Development • Made by Many
kenatmxm
 
iOS Application Development
Compare Infobase Limited
 
Object Oriented Programming With C 2140705 Darshan All Unit Darshan Institute...
hslinaaltosh
 
Chapter 1
siragezeynu
 
SRAVANByCPP
aptechsravan
 
OOPM Introduction.ppt
vijay251387
 
Object-oriented programming (OOP) with Complete understanding modules
Durgesh Singh
 
OOP lesson1 and Variables.pdf
HouseMusica
 
iPhone development from a Java perspective (Jazoon '09)
Netcetera
 
Programming in Java Unit 1 lesson Notes for Java
ssuserd0b11b
 
object oriented programming language in c++
Ravikant517175
 

Recently uploaded (20)

PDF
20ME702-Mechatronics-UNIT-1,UNIT-2,UNIT-3,UNIT-4,UNIT-5, 2025-2026
Mohanumar S
 
PPTX
22PCOAM21 Session 2 Understanding Data Source.pptx
Guru Nanak Technical Institutions
 
PPTX
Tunnel Ventilation System in Kanpur Metro
220105053
 
PDF
Zero carbon Building Design Guidelines V4
BassemOsman1
 
PPTX
Online Cab Booking and Management System.pptx
diptipaneri80
 
PDF
top-5-use-cases-for-splunk-security-analytics.pdf
yaghutialireza
 
PDF
FLEX-LNG-Company-Presentation-Nov-2017.pdf
jbloggzs
 
PPTX
sunil mishra pptmmmmmmmmmmmmmmmmmmmmmmmmm
singhamit111
 
PDF
EVS+PRESENTATIONS EVS+PRESENTATIONS like
saiyedaqib429
 
PDF
Natural_Language_processing_Unit_I_notes.pdf
sanguleumeshit
 
PPTX
database slide on modern techniques for optimizing database queries.pptx
aky52024
 
PDF
2010_Book_EnvironmentalBioengineering (1).pdf
EmilianoRodriguezTll
 
PDF
67243-Cooling and Heating & Calculation.pdf
DHAKA POLYTECHNIC
 
PDF
Zero Carbon Building Performance standard
BassemOsman1
 
PPTX
FUNDAMENTALS OF ELECTRIC VEHICLES UNIT-1
MikkiliSuresh
 
PPTX
quantum computing transition from classical mechanics.pptx
gvlbcy
 
PDF
Chad Ayach - A Versatile Aerospace Professional
Chad Ayach
 
PPTX
Inventory management chapter in automation and robotics.
atisht0104
 
PDF
Unit I Part II.pdf : Security Fundamentals
Dr. Madhuri Jawale
 
PPT
Understanding the Key Components and Parts of a Drone System.ppt
Siva Reddy
 
20ME702-Mechatronics-UNIT-1,UNIT-2,UNIT-3,UNIT-4,UNIT-5, 2025-2026
Mohanumar S
 
22PCOAM21 Session 2 Understanding Data Source.pptx
Guru Nanak Technical Institutions
 
Tunnel Ventilation System in Kanpur Metro
220105053
 
Zero carbon Building Design Guidelines V4
BassemOsman1
 
Online Cab Booking and Management System.pptx
diptipaneri80
 
top-5-use-cases-for-splunk-security-analytics.pdf
yaghutialireza
 
FLEX-LNG-Company-Presentation-Nov-2017.pdf
jbloggzs
 
sunil mishra pptmmmmmmmmmmmmmmmmmmmmmmmmm
singhamit111
 
EVS+PRESENTATIONS EVS+PRESENTATIONS like
saiyedaqib429
 
Natural_Language_processing_Unit_I_notes.pdf
sanguleumeshit
 
database slide on modern techniques for optimizing database queries.pptx
aky52024
 
2010_Book_EnvironmentalBioengineering (1).pdf
EmilianoRodriguezTll
 
67243-Cooling and Heating & Calculation.pdf
DHAKA POLYTECHNIC
 
Zero Carbon Building Performance standard
BassemOsman1
 
FUNDAMENTALS OF ELECTRIC VEHICLES UNIT-1
MikkiliSuresh
 
quantum computing transition from classical mechanics.pptx
gvlbcy
 
Chad Ayach - A Versatile Aerospace Professional
Chad Ayach
 
Inventory management chapter in automation and robotics.
atisht0104
 
Unit I Part II.pdf : Security Fundamentals
Dr. Madhuri Jawale
 
Understanding the Key Components and Parts of a Drone System.ppt
Siva Reddy
 

iOS course day 1

  • 2. Components of Computer System RAM (Random Access Memory) Disk (Hard Disk Drive) CPU (Central Processing Unit)
  • 3. How a computer reads our code Objective-C This is what our source code is written in. Compiler Object Code (otherwise known as Binary) eg: 0110001010110101
  • 4. RAM: The place where applications run. Computers are restrained by memory and 80% of program crashes relate to memory. Disk: This is where applications that are not running reside along with user data. CPU: The processor that runs and executes programs
  • 6. iOS Stack Core OS Core Services Media Coca Touch High Level (Objective C) Low Level (C)
  • 7. Tools Integrated Development Environment (IDE): Xcode (Code Editor) Programming Languages: C, C++, Objective-C and Swift Main Other Programs Instruments, Memory Allocation & Leaks
  • 9. Step 1: Start a new project in Xcode Step 2: Navigate to the App Delegate.m file Step 3: Add the following code: Step 4: Build and Run!
  • 11. Variables: Variables are a container that holds some kind of value. for example: int myVar = 1; We now have a variable called myVar and its value is equal to 1;
  • 12. Functions: Functions are the way a system performs some kind of action. These can either return a value or not. Example 1: int myVar = 1; [self myFunction]; (void)myFunction { myVar = 2; } Example 2: int myVar = 1; myVar = [self myFunction]; (int)myFunction { return 2; }
  • 13. Parameters: Parameters are variables passed into a function for it to do some computation with. Example 1: int myVar = 1; int otherNumber = 20; int total = [self addNumbers: myVar and: otherNumber]; (int)addNumbers:(int)firstNumber and:(int)secondNumber { int result = firstNumber + secondNumber; return variable; } total would equal 21.
  • 14. C Programming in 1 Slide Integer Loops Array If Then Switch Struct
  • 15. Preprocessor Processes the source code before it gets compiled. Preprocessor performs a search &replace to all occurrences of the name with its value. Loads all the content of a file into the current file. - Watch out for circular dependancies! Objective-C: Loads all the content of a file into the current file. Automatically handles circular dependanci Compiler Specific instructions. Often used as a way for you to easily navigate the code file.
  • 17. Classes Objective C is object orientated This means the source code is split up into files called clas An Objective C Class has Two Files: A interface file (.h) (otherwise known as a header) A Implementation file (.m) @implementation ViewController @end @interface ViewController : UIViewController @end A Header is the public file. It is where we declare methods and variables for use by other classes The Implementation file is where the logic for the declared methods goes.
  • 18. Objective-C: Sending Messages We want to be able to send messages to a class when tryi The way we do that is like: [myClass doSomething];
  • 19. Objective-C: Sending Messages With Parameters If we want to call a function with Parameters we call: [myClass doSomething: @“aString”];
  • 20. Objective-C: Sending Messages With Multiple Parameters If we want to call a function with Parameters we call: [myClass doSomethingWith This:@“FirstString” andThis:@“SecondString”];
  • 21. Objective-C: Instantiating Objects When we want to use a class we need to create a instance of that class in memory. We do that by calling the classes init method, which stands for instantiate. MyClass *object = [[MyClass alloc]init]; NOTE: we called two methods on this alloc and init. ‘alloc’ is the function that allocates the memory required for the object and then init sets it up.
  • 22. Objective-C: More Classes When we alloc and init a class the system sets us up an instance of our class and then returns a pointer to its location in memory. You can have multiple instances of a class. There are some classes called singletons however. This means that there is only one of them in the application. An example of this is the App Delegate.
  • 23. Objective-C: Singleton Classes This is something you will come across more as you go forward however the main one you will encounter is your AppDelegate. One use of a singleton is if you have a variable that needs to be accused through the app then you would declare it there.
  • 24. Objective-C: Memory Management Since were are allocating memory all over the place we need to clear this up so that other parts of the program can use it. If we don’t its called a memory leak. The good news is that these days Apple has created something called Automatic Reference Counting (ARC) which does this for us. We will cover this more later.
  • 25. Objective-C: Getters / Setters Getters and Setters are fairly self explanatory. They are the methods you would call on your class to get a value or set a value. Example: MyClass *object = [[MyClass alloc]init]; [object setRating:9.5]; double theRating = [object rating];
  • 26. Objective-C: Getters / Setters Interface (.h)
  • 27. Objective-C: Getters / Setters Implementation (.m)
  • 28. Objective-C: Properties More Good News!!! Apple has created something called properties. When you declare on of these in the implementation file it will create the getters and setters behind the scene We’ll look at these in more depth in the next slide but the main thing here is to see how th
  • 29. Objective-C: Properties How do we call a property? We use something called Dot Notation MyClass *object = [[MyClass alloc]init]; object.rating = 9.5;
  • 30. Objective-C: Properties / Memory Ok back to Memory as Promised As promised here is the rest of the memory stuff to get to grips with. With ARC iOS will k This makes our life much easier however we need to help it a bit by telling it what needs An object can have any of the following: Strong Weak Nonatomic Atomic
  • 31. Strong: Keeps the object around as long as the class is alive and pointing to it. Weak: Keeps the object around as long as another object is pointing to it strongly. Objective-C: Properties / Memory II Atomic/ Nonatomic: -atomic is the default, which provides support for using this property in multiple treads (at no extra cost).
  • 32. Objective-C: Foundation Classes In Objective-C we have the same data types as in other lang Common Objective C object types: NSString NSArray NSDictionary NSDate NSNumber NSData Immutable NSMutableString NSMutableArray NSMutableDictionary NSDate NSNumber NSData Mutable
  • 33. Objective-C: Foundation Classes II Each one of the types in objective C have a class associate In those classes are properties such as ‘length’ for NSString As well as Getters and Setters.
  • 34. Inheritance and Polymorphism Inheritance is something that you will encounter at all over ob Its actually more simple that it looks: (known as a parent class). This means that the class has all t
  • 35. Inheritance and Polymorphism Vehicle Car BattleShip Vehicle.h -(void)move -(void)turnLeft -(void)turnRight BattleShip.h -(void)shoot Car.h -(void)Park
  • 36. Inheritance and Polymorphism instance of a class can also be treated as an instance of any
  • 37. Coca-Touch: Model View Controller In iOS the standard way to design your app is using someth It breaks down like this: Model: Data and Business Rules View: User Interface Elements Controller: Behaviour and referee between the model and th
  • 38. Coca-Touch: Model View Controller Model View Controller UI Storyboard ViewController.h Concert.h Model data source could be: File System Database Web Service Core Data
  • 39. Demo
  • 41. • String with format • App Coda • Ray Weinerlich