SlideShare a Scribd company logo
Day 2
Recap
Story Boards
Storyboards are the user interface elements of an App
n modern versions of Xcode this is integrated in the program.
Story Boards Explained
edit the file / element your working on. The Bottom allows you to choose
Choose the View Controller
Class that is associated
with this view (MVC)
Choose objects to add to a view such as
UITextField, UIButton or objects such
as a new View.
Delegation
behalf of, or in coordination with, another object when that obje
must fulfil some obligations (delegate methods) usually decla
Examples:
AppDelegate
UITableViewDelegate
Table Views
One of the most commonly used elements is UITable View
Two of Types of UI Table View
Plain Grouped
Table Views
A Table View consists of many parts all of which are
able to be customised.
Table View
Section
Section Header
with Label
Table View Cell
with Label
Table Views
Apple has created a controller for a UITableView
Called UITableViewController and if you subclass it
in your View Controller then it will set this stuff up for you.
Header file (.h)
Subclass UITableViewController
Declare the Delegate and Datasource Protocols
Implementation file (.m)
UITableView
Delegate Methods
Demo
(TableView)
View Controller Lifecycle
viewDidLoad
viewWillAppear
viewDidAppear
viewWillDisappear
viewDidDisappear
viewDidUnload
Demo
(Image View, Web View, Collection View)
Navigation Controller
The Navigation Controller is a very common way to display multiple views
and works with a stack
Navigation Controller
By using the navigation controller iOS creates a container and then
automatically creates the bar at the top with the back button allowing users
to easily navigate. There is also a lot of performance enhancements behind
the scenes too.
To create a navigation stack you can easily do that in the storyboard.
Demo Linking Nav Controller
Persistence
In iOS there are a range of ways to persist data on and off the device.
On Device
• NSUserDefaults (max 300kb) - This is for small amounts of data, usually used for
saving settings / User data in apps
• Plist / Disk - This is for slightly larger data and doesn't really have a limit but can be
low on performance. Mainly used for media on disk.
• Core Data - This is the most common way for storing data and is the iOS internal DB.
It runs on a NO-SQL basis.
• SQL Lite - This is another option for a DB and uses SQL.
Off Device
• Web Service - Third party API’s allow you to easily store data off device and usually
charge based on concurrent requests to the server. Some examples are below.
1. AWS
2. Parse
3. Other 3rd Party
Persistence
File System: Property Lists
- NSArray and NSDictionary can do this
- Can only save supported “plist” types - - NSString
- - NSNumber
- - NSDate
- - NSData
Persistence
File System: Saving Images
- Get resources from the main app bundle (images,
databases, mp4)
Blocks and Multi Threading
One of the main ways in which computers since the 90’s have dealt with
multiple processes is Multi Threading
Multi Threading means that you can run multiple concurrent processes
separately on whats called threads.
Number 1 rule is that all UI should be called on the main thread.
Why use Threads? One use is so that if were pulling data over the network
then we don’t block the UI of the app. If we do it will give a bad experience
and make our user think the app has crashed.
Blocks and Multi Threading
To use threads on iOS we use something called Blocks. Blocks are very
common is iOS since the release of iOS 5.
Blocks
Further info on blocks - http://www.raywenderlich.com/9438/how-to-use-blocks-in-ios-5-tutorial-part-2
What is a block?
- a block of code (i.e a sequence of statements inside {}).
Usually included “in-line” with the calling of a method that is going to
use that block of code.
Example of Block
Blocks and Multi Threading
To dispatch a task to a different Thread we use a C API called ‘Grand
Central Dispatch’ (GCD).
Animations
can easily animate any UI View using core animation. An example of this is b
Categories
Categories allow us to add extra methods to existing classes even if we didn't write them.
Header (.h)
Categories
Interface (.m)
Frameworks and Coca Pods
Frameworks in iOS are collections of code that allow apps to
Examples of Apple Frameworks:
Mapkit
Core Audio
Core Animation
Examples of 3rd Party Frameworks:
Stripe
Facebook
Parse
Twitter
Testing Your App
e simulator then simply build and run and in Xcode and it will la
d to be enrolled in the Apple Developer Program and then gen
Instruments and Other Apps
applications that can be used to find where issues lie in your a
• String with format
• App Coda
• Ray Weinerlich

More Related Content

What's hot

SQLite database in android
SQLite database in androidSQLite database in android
SQLite database in android
Gourav Kumar Saini
 
Android Database Tutorial
Android Database TutorialAndroid Database Tutorial
Android Database Tutorial
Perfect APK
 
Data Handning with Sqlite for Android
Data Handning with Sqlite for AndroidData Handning with Sqlite for Android
Data Handning with Sqlite for AndroidJakir Hossain
 
SQLite Database Tutorial In Android
SQLite Database Tutorial In AndroidSQLite Database Tutorial In Android
SQLite Database Tutorial In Android
Android 5
 
Databases in Android Application
Databases in Android ApplicationDatabases in Android Application
Databases in Android Application
Mark Lester Navarro
 
Introducing Entity Framework 4.0
Introducing Entity Framework 4.0Introducing Entity Framework 4.0
Introducing Entity Framework 4.0
Bishoy Demian
 
Storage in the Windows Azure Platform - ericnel
Storage in the Windows Azure Platform - ericnelStorage in the Windows Azure Platform - ericnel
Storage in the Windows Azure Platform - ericnel
ukdpe
 
Silverlight difference faqs- 2
Silverlight difference faqs- 2Silverlight difference faqs- 2
Silverlight difference faqs- 2
Umar Ali
 
Spring jdbc dao
Spring jdbc daoSpring jdbc dao
Spring jdbc dao
Anuj Singh Rajput
 
Dicoding Developer Coaching #19: Android | Menyimpan Database Secara Local di...
Dicoding Developer Coaching #19: Android | Menyimpan Database Secara Local di...Dicoding Developer Coaching #19: Android | Menyimpan Database Secara Local di...
Dicoding Developer Coaching #19: Android | Menyimpan Database Secara Local di...
DicodingEvent
 
Android database tutorial
Android database tutorialAndroid database tutorial
Android database tutorial
info_zybotech
 
Entity Framework - Entity Data Model (edm)
Entity Framework - Entity Data Model (edm)Entity Framework - Entity Data Model (edm)
Entity Framework - Entity Data Model (edm)
Eyal Vardi
 
Database in Android
Database in AndroidDatabase in Android
Database in Android
MaryadelMar85
 
Entity Framework Overview
Entity Framework OverviewEntity Framework Overview
Entity Framework Overview
Eyal Vardi
 
JDBC
JDBCJDBC
Learning MVC Part 3 Creating MVC Application with EntityFramework
Learning MVC Part 3 Creating MVC Application with EntityFrameworkLearning MVC Part 3 Creating MVC Application with EntityFramework
Learning MVC Part 3 Creating MVC Application with EntityFrameworkAkhil Mittal
 
SQLITE Android
SQLITE AndroidSQLITE Android
SQLITE Android
Sourabh Sahu
 
Android MVVM architecture using Kotlin, Dagger2, LiveData, MediatorLiveData
Android MVVM architecture using Kotlin, Dagger2, LiveData, MediatorLiveDataAndroid MVVM architecture using Kotlin, Dagger2, LiveData, MediatorLiveData
Android MVVM architecture using Kotlin, Dagger2, LiveData, MediatorLiveData
Waheed Nazir
 
A PRESENTATION ON STRUTS & HIBERNATE
A PRESENTATION ON STRUTS & HIBERNATEA PRESENTATION ON STRUTS & HIBERNATE
A PRESENTATION ON STRUTS & HIBERNATE
Tushar Choudhary
 

What's hot (20)

SQLite database in android
SQLite database in androidSQLite database in android
SQLite database in android
 
Android Database Tutorial
Android Database TutorialAndroid Database Tutorial
Android Database Tutorial
 
Getting started with entity framework
Getting started with entity framework Getting started with entity framework
Getting started with entity framework
 
Data Handning with Sqlite for Android
Data Handning with Sqlite for AndroidData Handning with Sqlite for Android
Data Handning with Sqlite for Android
 
SQLite Database Tutorial In Android
SQLite Database Tutorial In AndroidSQLite Database Tutorial In Android
SQLite Database Tutorial In Android
 
Databases in Android Application
Databases in Android ApplicationDatabases in Android Application
Databases in Android Application
 
Introducing Entity Framework 4.0
Introducing Entity Framework 4.0Introducing Entity Framework 4.0
Introducing Entity Framework 4.0
 
Storage in the Windows Azure Platform - ericnel
Storage in the Windows Azure Platform - ericnelStorage in the Windows Azure Platform - ericnel
Storage in the Windows Azure Platform - ericnel
 
Silverlight difference faqs- 2
Silverlight difference faqs- 2Silverlight difference faqs- 2
Silverlight difference faqs- 2
 
Spring jdbc dao
Spring jdbc daoSpring jdbc dao
Spring jdbc dao
 
Dicoding Developer Coaching #19: Android | Menyimpan Database Secara Local di...
Dicoding Developer Coaching #19: Android | Menyimpan Database Secara Local di...Dicoding Developer Coaching #19: Android | Menyimpan Database Secara Local di...
Dicoding Developer Coaching #19: Android | Menyimpan Database Secara Local di...
 
Android database tutorial
Android database tutorialAndroid database tutorial
Android database tutorial
 
Entity Framework - Entity Data Model (edm)
Entity Framework - Entity Data Model (edm)Entity Framework - Entity Data Model (edm)
Entity Framework - Entity Data Model (edm)
 
Database in Android
Database in AndroidDatabase in Android
Database in Android
 
Entity Framework Overview
Entity Framework OverviewEntity Framework Overview
Entity Framework Overview
 
JDBC
JDBCJDBC
JDBC
 
Learning MVC Part 3 Creating MVC Application with EntityFramework
Learning MVC Part 3 Creating MVC Application with EntityFrameworkLearning MVC Part 3 Creating MVC Application with EntityFramework
Learning MVC Part 3 Creating MVC Application with EntityFramework
 
SQLITE Android
SQLITE AndroidSQLITE Android
SQLITE Android
 
Android MVVM architecture using Kotlin, Dagger2, LiveData, MediatorLiveData
Android MVVM architecture using Kotlin, Dagger2, LiveData, MediatorLiveDataAndroid MVVM architecture using Kotlin, Dagger2, LiveData, MediatorLiveData
Android MVVM architecture using Kotlin, Dagger2, LiveData, MediatorLiveData
 
A PRESENTATION ON STRUTS & HIBERNATE
A PRESENTATION ON STRUTS & HIBERNATEA PRESENTATION ON STRUTS & HIBERNATE
A PRESENTATION ON STRUTS & HIBERNATE
 

Viewers also liked

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

Viewers also liked (12)

iOS course day 1
iOS course day 1iOS course day 1
iOS course day 1
 
Mobile design matters - iOS and Android
Mobile design matters - iOS and AndroidMobile design matters - iOS and Android
Mobile design matters - iOS and Android
 
Top 10 trends every iOS app development company should follow
Top 10 trends every iOS app development company should followTop 10 trends every iOS app development company should follow
Top 10 trends every iOS app development company should follow
 
Android Training (Storing & Shared Preferences)
Android Training (Storing & Shared Preferences)Android Training (Storing & Shared Preferences)
Android Training (Storing & Shared Preferences)
 
SWIFT & IntelliMATCH
SWIFT & IntelliMATCHSWIFT & IntelliMATCH
SWIFT & IntelliMATCH
 
Architecting iOS Project
Architecting iOS ProjectArchitecting iOS Project
Architecting iOS Project
 
iOS Coding Best Practices
iOS Coding Best PracticesiOS Coding Best Practices
iOS Coding Best Practices
 
Mobile App Design course (iOS & Android)
Mobile App Design course (iOS & Android)Mobile App Design course (iOS & Android)
Mobile App Design course (iOS & Android)
 
A swift introduction to Swift
A swift introduction to SwiftA swift introduction to Swift
A swift introduction to Swift
 
Apple iOS
Apple iOSApple iOS
Apple iOS
 
Swift Introduction
Swift IntroductionSwift Introduction
Swift Introduction
 
Swift Programming Language
Swift Programming LanguageSwift Programming Language
Swift Programming Language
 

Similar to iOS Course day 2

A Hand Book of Visual Basic 6.0.pdf.pdf
A Hand Book of Visual Basic 6.0.pdf.pdfA Hand Book of Visual Basic 6.0.pdf.pdf
A Hand Book of Visual Basic 6.0.pdf.pdf
Ann Wera
 
Iphone programming: Core Data Tutorial for iOS
Iphone programming: Core Data Tutorial for iOSIphone programming: Core Data Tutorial for iOS
Iphone programming: Core Data Tutorial for iOS
Kenny Nguyen
 
ios basics
ios basicsios basics
ios basics
Muthu Sabarinathan
 
unit 3.docx
unit 3.docxunit 3.docx
unit 3.docx
Sadhana Sreekanth
 
Creation of cloud application using microsoft azure by vaishali sahare [katkar]
Creation of cloud application using microsoft azure by vaishali sahare [katkar]Creation of cloud application using microsoft azure by vaishali sahare [katkar]
Creation of cloud application using microsoft azure by vaishali sahare [katkar]
vaishalisahare123
 
iphone presentation
iphone presentationiphone presentation
iphone presentation
Dhananjay Fartyal
 
12_Data_Storage_Part_2.pptx
12_Data_Storage_Part_2.pptx12_Data_Storage_Part_2.pptx
12_Data_Storage_Part_2.pptx
FaezNasir
 
OOP_chapter _1.pptx
OOP_chapter _1.pptxOOP_chapter _1.pptx
OOP_chapter _1.pptx
AbdexAliyi
 
Lec005 android start_program
Lec005 android start_programLec005 android start_program
Lec005 android start_program
Eyad Almasri
 
Oracle EBS 12.1.3 : Integrate OA Framework BC4J components within java concur...
Oracle EBS 12.1.3 : Integrate OA Framework BC4J components within java concur...Oracle EBS 12.1.3 : Integrate OA Framework BC4J components within java concur...
Oracle EBS 12.1.3 : Integrate OA Framework BC4J components within java concur...
Amit Singh
 
Implementation of sql server based on sqlite engine on
Implementation of sql server based on sqlite engine onImplementation of sql server based on sqlite engine on
Implementation of sql server based on sqlite engine on
eSAT Publishing House
 
Lotusphere 2007 AD507 Leveraging the Power of Object Oriented Programming in ...
Lotusphere 2007 AD507 Leveraging the Power of Object Oriented Programming in ...Lotusphere 2007 AD507 Leveraging the Power of Object Oriented Programming in ...
Lotusphere 2007 AD507 Leveraging the Power of Object Oriented Programming in ...
Bill Buchan
 
Cw comp1661 211574_mo233_20131122_234918_1314
Cw comp1661 211574_mo233_20131122_234918_1314Cw comp1661 211574_mo233_20131122_234918_1314
Cw comp1661 211574_mo233_20131122_234918_1314
Owen Muzi
 
Intro lift
Intro liftIntro lift
Intro lift
Knoldus Inc.
 
Dependency Injection and Autofac
Dependency Injection and AutofacDependency Injection and Autofac
Dependency Injection and Autofac
meghantaylor
 
Sqllite
SqlliteSqllite
Sqllite
Senthil Kumar
 
Windows azure camp - Kolkata
Windows azure camp - KolkataWindows azure camp - Kolkata
Windows azure camp - Kolkata
Abhijit Jana
 
Fame
FameFame
Fame
rpatil82
 

Similar to iOS Course day 2 (20)

A Hand Book of Visual Basic 6.0.pdf.pdf
A Hand Book of Visual Basic 6.0.pdf.pdfA Hand Book of Visual Basic 6.0.pdf.pdf
A Hand Book of Visual Basic 6.0.pdf.pdf
 
Iphone programming: Core Data Tutorial for iOS
Iphone programming: Core Data Tutorial for iOSIphone programming: Core Data Tutorial for iOS
Iphone programming: Core Data Tutorial for iOS
 
ios basics
ios basicsios basics
ios basics
 
unit 3.docx
unit 3.docxunit 3.docx
unit 3.docx
 
Creation of cloud application using microsoft azure by vaishali sahare [katkar]
Creation of cloud application using microsoft azure by vaishali sahare [katkar]Creation of cloud application using microsoft azure by vaishali sahare [katkar]
Creation of cloud application using microsoft azure by vaishali sahare [katkar]
 
iphone presentation
iphone presentationiphone presentation
iphone presentation
 
12_Data_Storage_Part_2.pptx
12_Data_Storage_Part_2.pptx12_Data_Storage_Part_2.pptx
12_Data_Storage_Part_2.pptx
 
OOP_chapter _1.pptx
OOP_chapter _1.pptxOOP_chapter _1.pptx
OOP_chapter _1.pptx
 
Lec005 android start_program
Lec005 android start_programLec005 android start_program
Lec005 android start_program
 
Oracle EBS 12.1.3 : Integrate OA Framework BC4J components within java concur...
Oracle EBS 12.1.3 : Integrate OA Framework BC4J components within java concur...Oracle EBS 12.1.3 : Integrate OA Framework BC4J components within java concur...
Oracle EBS 12.1.3 : Integrate OA Framework BC4J components within java concur...
 
Implementation of sql server based on sqlite engine on
Implementation of sql server based on sqlite engine onImplementation of sql server based on sqlite engine on
Implementation of sql server based on sqlite engine on
 
Lotusphere 2007 AD507 Leveraging the Power of Object Oriented Programming in ...
Lotusphere 2007 AD507 Leveraging the Power of Object Oriented Programming in ...Lotusphere 2007 AD507 Leveraging the Power of Object Oriented Programming in ...
Lotusphere 2007 AD507 Leveraging the Power of Object Oriented Programming in ...
 
Synopsis
SynopsisSynopsis
Synopsis
 
Cw comp1661 211574_mo233_20131122_234918_1314
Cw comp1661 211574_mo233_20131122_234918_1314Cw comp1661 211574_mo233_20131122_234918_1314
Cw comp1661 211574_mo233_20131122_234918_1314
 
Intro lift
Intro liftIntro lift
Intro lift
 
Dependency Injection and Autofac
Dependency Injection and AutofacDependency Injection and Autofac
Dependency Injection and Autofac
 
Sqllite
SqlliteSqllite
Sqllite
 
Windows azure camp - Kolkata
Windows azure camp - KolkataWindows azure camp - Kolkata
Windows azure camp - Kolkata
 
Fame
FameFame
Fame
 
Spring 2
Spring 2Spring 2
Spring 2
 

Recently uploaded

Courier management system project report.pdf
Courier management system project report.pdfCourier management system project report.pdf
Courier management system project report.pdf
Kamal Acharya
 
DESIGN A COTTON SEED SEPARATION MACHINE.docx
DESIGN A COTTON SEED SEPARATION MACHINE.docxDESIGN A COTTON SEED SEPARATION MACHINE.docx
DESIGN A COTTON SEED SEPARATION MACHINE.docx
FluxPrime1
 
Nuclear Power Economics and Structuring 2024
Nuclear Power Economics and Structuring 2024Nuclear Power Economics and Structuring 2024
Nuclear Power Economics and Structuring 2024
Massimo Talia
 
J.Yang, ICLR 2024, MLILAB, KAIST AI.pdf
J.Yang,  ICLR 2024, MLILAB, KAIST AI.pdfJ.Yang,  ICLR 2024, MLILAB, KAIST AI.pdf
J.Yang, ICLR 2024, MLILAB, KAIST AI.pdf
MLILAB
 
Design and Analysis of Algorithms-DP,Backtracking,Graphs,B&B
Design and Analysis of Algorithms-DP,Backtracking,Graphs,B&BDesign and Analysis of Algorithms-DP,Backtracking,Graphs,B&B
Design and Analysis of Algorithms-DP,Backtracking,Graphs,B&B
Sreedhar Chowdam
 
block diagram and signal flow graph representation
block diagram and signal flow graph representationblock diagram and signal flow graph representation
block diagram and signal flow graph representation
Divya Somashekar
 
Forklift Classes Overview by Intella Parts
Forklift Classes Overview by Intella PartsForklift Classes Overview by Intella Parts
Forklift Classes Overview by Intella Parts
Intella Parts
 
COLLEGE BUS MANAGEMENT SYSTEM PROJECT REPORT.pdf
COLLEGE BUS MANAGEMENT SYSTEM PROJECT REPORT.pdfCOLLEGE BUS MANAGEMENT SYSTEM PROJECT REPORT.pdf
COLLEGE BUS MANAGEMENT SYSTEM PROJECT REPORT.pdf
Kamal Acharya
 
LIGA(E)11111111111111111111111111111111111111111.ppt
LIGA(E)11111111111111111111111111111111111111111.pptLIGA(E)11111111111111111111111111111111111111111.ppt
LIGA(E)11111111111111111111111111111111111111111.ppt
ssuser9bd3ba
 
Student information management system project report ii.pdf
Student information management system project report ii.pdfStudent information management system project report ii.pdf
Student information management system project report ii.pdf
Kamal Acharya
 
CFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptx
CFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptxCFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptx
CFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptx
R&R Consult
 
MCQ Soil mechanics questions (Soil shear strength).pdf
MCQ Soil mechanics questions (Soil shear strength).pdfMCQ Soil mechanics questions (Soil shear strength).pdf
MCQ Soil mechanics questions (Soil shear strength).pdf
Osamah Alsalih
 
AKS UNIVERSITY Satna Final Year Project By OM Hardaha.pdf
AKS UNIVERSITY Satna Final Year Project By OM Hardaha.pdfAKS UNIVERSITY Satna Final Year Project By OM Hardaha.pdf
AKS UNIVERSITY Satna Final Year Project By OM Hardaha.pdf
SamSarthak3
 
HYDROPOWER - Hydroelectric power generation
HYDROPOWER - Hydroelectric power generationHYDROPOWER - Hydroelectric power generation
HYDROPOWER - Hydroelectric power generation
Robbie Edward Sayers
 
Quality defects in TMT Bars, Possible causes and Potential Solutions.
Quality defects in TMT Bars, Possible causes and Potential Solutions.Quality defects in TMT Bars, Possible causes and Potential Solutions.
Quality defects in TMT Bars, Possible causes and Potential Solutions.
PrashantGoswami42
 
Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...
Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...
Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...
Dr.Costas Sachpazis
 
WATER CRISIS and its solutions-pptx 1234
WATER CRISIS and its solutions-pptx 1234WATER CRISIS and its solutions-pptx 1234
WATER CRISIS and its solutions-pptx 1234
AafreenAbuthahir2
 
ethical hacking-mobile hacking methods.ppt
ethical hacking-mobile hacking methods.pptethical hacking-mobile hacking methods.ppt
ethical hacking-mobile hacking methods.ppt
Jayaprasanna4
 
一比一原版(SFU毕业证)西蒙菲莎大学毕业证成绩单如何办理
一比一原版(SFU毕业证)西蒙菲莎大学毕业证成绩单如何办理一比一原版(SFU毕业证)西蒙菲莎大学毕业证成绩单如何办理
一比一原版(SFU毕业证)西蒙菲莎大学毕业证成绩单如何办理
bakpo1
 
H.Seo, ICLR 2024, MLILAB, KAIST AI.pdf
H.Seo,  ICLR 2024, MLILAB,  KAIST AI.pdfH.Seo,  ICLR 2024, MLILAB,  KAIST AI.pdf
H.Seo, ICLR 2024, MLILAB, KAIST AI.pdf
MLILAB
 

Recently uploaded (20)

Courier management system project report.pdf
Courier management system project report.pdfCourier management system project report.pdf
Courier management system project report.pdf
 
DESIGN A COTTON SEED SEPARATION MACHINE.docx
DESIGN A COTTON SEED SEPARATION MACHINE.docxDESIGN A COTTON SEED SEPARATION MACHINE.docx
DESIGN A COTTON SEED SEPARATION MACHINE.docx
 
Nuclear Power Economics and Structuring 2024
Nuclear Power Economics and Structuring 2024Nuclear Power Economics and Structuring 2024
Nuclear Power Economics and Structuring 2024
 
J.Yang, ICLR 2024, MLILAB, KAIST AI.pdf
J.Yang,  ICLR 2024, MLILAB, KAIST AI.pdfJ.Yang,  ICLR 2024, MLILAB, KAIST AI.pdf
J.Yang, ICLR 2024, MLILAB, KAIST AI.pdf
 
Design and Analysis of Algorithms-DP,Backtracking,Graphs,B&B
Design and Analysis of Algorithms-DP,Backtracking,Graphs,B&BDesign and Analysis of Algorithms-DP,Backtracking,Graphs,B&B
Design and Analysis of Algorithms-DP,Backtracking,Graphs,B&B
 
block diagram and signal flow graph representation
block diagram and signal flow graph representationblock diagram and signal flow graph representation
block diagram and signal flow graph representation
 
Forklift Classes Overview by Intella Parts
Forklift Classes Overview by Intella PartsForklift Classes Overview by Intella Parts
Forklift Classes Overview by Intella Parts
 
COLLEGE BUS MANAGEMENT SYSTEM PROJECT REPORT.pdf
COLLEGE BUS MANAGEMENT SYSTEM PROJECT REPORT.pdfCOLLEGE BUS MANAGEMENT SYSTEM PROJECT REPORT.pdf
COLLEGE BUS MANAGEMENT SYSTEM PROJECT REPORT.pdf
 
LIGA(E)11111111111111111111111111111111111111111.ppt
LIGA(E)11111111111111111111111111111111111111111.pptLIGA(E)11111111111111111111111111111111111111111.ppt
LIGA(E)11111111111111111111111111111111111111111.ppt
 
Student information management system project report ii.pdf
Student information management system project report ii.pdfStudent information management system project report ii.pdf
Student information management system project report ii.pdf
 
CFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptx
CFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptxCFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptx
CFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptx
 
MCQ Soil mechanics questions (Soil shear strength).pdf
MCQ Soil mechanics questions (Soil shear strength).pdfMCQ Soil mechanics questions (Soil shear strength).pdf
MCQ Soil mechanics questions (Soil shear strength).pdf
 
AKS UNIVERSITY Satna Final Year Project By OM Hardaha.pdf
AKS UNIVERSITY Satna Final Year Project By OM Hardaha.pdfAKS UNIVERSITY Satna Final Year Project By OM Hardaha.pdf
AKS UNIVERSITY Satna Final Year Project By OM Hardaha.pdf
 
HYDROPOWER - Hydroelectric power generation
HYDROPOWER - Hydroelectric power generationHYDROPOWER - Hydroelectric power generation
HYDROPOWER - Hydroelectric power generation
 
Quality defects in TMT Bars, Possible causes and Potential Solutions.
Quality defects in TMT Bars, Possible causes and Potential Solutions.Quality defects in TMT Bars, Possible causes and Potential Solutions.
Quality defects in TMT Bars, Possible causes and Potential Solutions.
 
Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...
Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...
Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...
 
WATER CRISIS and its solutions-pptx 1234
WATER CRISIS and its solutions-pptx 1234WATER CRISIS and its solutions-pptx 1234
WATER CRISIS and its solutions-pptx 1234
 
ethical hacking-mobile hacking methods.ppt
ethical hacking-mobile hacking methods.pptethical hacking-mobile hacking methods.ppt
ethical hacking-mobile hacking methods.ppt
 
一比一原版(SFU毕业证)西蒙菲莎大学毕业证成绩单如何办理
一比一原版(SFU毕业证)西蒙菲莎大学毕业证成绩单如何办理一比一原版(SFU毕业证)西蒙菲莎大学毕业证成绩单如何办理
一比一原版(SFU毕业证)西蒙菲莎大学毕业证成绩单如何办理
 
H.Seo, ICLR 2024, MLILAB, KAIST AI.pdf
H.Seo,  ICLR 2024, MLILAB,  KAIST AI.pdfH.Seo,  ICLR 2024, MLILAB,  KAIST AI.pdf
H.Seo, ICLR 2024, MLILAB, KAIST AI.pdf
 

iOS Course day 2

  • 3. Story Boards Storyboards are the user interface elements of an App n modern versions of Xcode this is integrated in the program.
  • 4. Story Boards Explained edit the file / element your working on. The Bottom allows you to choose Choose the View Controller Class that is associated with this view (MVC) Choose objects to add to a view such as UITextField, UIButton or objects such as a new View.
  • 5. Delegation behalf of, or in coordination with, another object when that obje must fulfil some obligations (delegate methods) usually decla Examples: AppDelegate UITableViewDelegate
  • 6. Table Views One of the most commonly used elements is UITable View Two of Types of UI Table View Plain Grouped
  • 7. Table Views A Table View consists of many parts all of which are able to be customised. Table View Section Section Header with Label Table View Cell with Label
  • 8. Table Views Apple has created a controller for a UITableView Called UITableViewController and if you subclass it in your View Controller then it will set this stuff up for you. Header file (.h) Subclass UITableViewController Declare the Delegate and Datasource Protocols Implementation file (.m) UITableView Delegate Methods
  • 11. Demo (Image View, Web View, Collection View)
  • 12. Navigation Controller The Navigation Controller is a very common way to display multiple views and works with a stack
  • 13. Navigation Controller By using the navigation controller iOS creates a container and then automatically creates the bar at the top with the back button allowing users to easily navigate. There is also a lot of performance enhancements behind the scenes too. To create a navigation stack you can easily do that in the storyboard. Demo Linking Nav Controller
  • 14. Persistence In iOS there are a range of ways to persist data on and off the device. On Device • NSUserDefaults (max 300kb) - This is for small amounts of data, usually used for saving settings / User data in apps • Plist / Disk - This is for slightly larger data and doesn't really have a limit but can be low on performance. Mainly used for media on disk. • Core Data - This is the most common way for storing data and is the iOS internal DB. It runs on a NO-SQL basis. • SQL Lite - This is another option for a DB and uses SQL. Off Device • Web Service - Third party API’s allow you to easily store data off device and usually charge based on concurrent requests to the server. Some examples are below. 1. AWS 2. Parse 3. Other 3rd Party
  • 15. Persistence File System: Property Lists - NSArray and NSDictionary can do this - Can only save supported “plist” types - - NSString - - NSNumber - - NSDate - - NSData
  • 16. Persistence File System: Saving Images - Get resources from the main app bundle (images, databases, mp4)
  • 17. Blocks and Multi Threading One of the main ways in which computers since the 90’s have dealt with multiple processes is Multi Threading Multi Threading means that you can run multiple concurrent processes separately on whats called threads. Number 1 rule is that all UI should be called on the main thread. Why use Threads? One use is so that if were pulling data over the network then we don’t block the UI of the app. If we do it will give a bad experience and make our user think the app has crashed.
  • 18. Blocks and Multi Threading To use threads on iOS we use something called Blocks. Blocks are very common is iOS since the release of iOS 5. Blocks Further info on blocks - http://www.raywenderlich.com/9438/how-to-use-blocks-in-ios-5-tutorial-part-2 What is a block? - a block of code (i.e a sequence of statements inside {}). Usually included “in-line” with the calling of a method that is going to use that block of code. Example of Block
  • 19. Blocks and Multi Threading To dispatch a task to a different Thread we use a C API called ‘Grand Central Dispatch’ (GCD).
  • 20. Animations can easily animate any UI View using core animation. An example of this is b
  • 21. Categories Categories allow us to add extra methods to existing classes even if we didn't write them. Header (.h)
  • 23. Frameworks and Coca Pods Frameworks in iOS are collections of code that allow apps to Examples of Apple Frameworks: Mapkit Core Audio Core Animation Examples of 3rd Party Frameworks: Stripe Facebook Parse Twitter
  • 24. Testing Your App e simulator then simply build and run and in Xcode and it will la d to be enrolled in the Apple Developer Program and then gen
  • 25. Instruments and Other Apps applications that can be used to find where issues lie in your a
  • 26. • String with format • App Coda • Ray Weinerlich