SlideShare a Scribd company logo
1 of 21
MobileCity




Introduction to iOS Development
About Me
●   Allan Davis
    –   Lead Developer of Mobile Technology for
        DealerMatch
    –   Cajun.code@gmail.com
    –   @cajun_code
Class Agenda
1. Introduction
2. Objective C
3. UI Design and Development
4. Core Data
5. Web Services and Networking
6. Profiling, Debugging and Distributing
Session Agenda
●   IOS Overview
●   Tools and Getting Started
●   MVC
●   Test Driven Development
●   TipCalculator Demo
●   Prize Picker
IOS Overview
IOS Overview
IOS Overview
IOS Overview
Platform Components
Xcode




●   Go to the Mac App Store
●   Search for Xcode
●   Download Xcode
Xcode
MVC
MVC
MVC
TDD
What is Test Driven Development?
●   Test-driven development (TDD) is a software development
    process that relies on the repetition of a very short development
    cycle: first the developer writes an (initially failing) automated
    test case that defines a desired improvement or new function,
    then produces the minimum amount of code to pass that test
    and finally refactors the new code to acceptable standards.
    Kent Beck, who is credited with having developed or
    'rediscovered' the technique, stated in 2003 that TDD
    encourages simple designs and inspires confidence.



                                     - Wikipedia
Test First
Tip Calculator
    ●   Develop Calculator model
    ●   Create Screen Layout
    ●   Bind layout to Controller
    ●   Integrate model in controller
Resources
●   Stanford iTunes U
    –   http://www.stanford.edu/class/cs193p/cgi-bin/drupal/downloads-2011-fall
    –   http://itunes.apple.com/itunes-u/ipad-iphone-application-development/id473757255?mt=10
●   Apple Developer Site
    –   http://developer.apple.com
●   Books
    –   IOS Programming: Big Nerd Ranch Guide
    –   IPhone for Programmers: an App-Driven Approach
    –   Programming iOS 5
Code Available on Github
●   Code
    –   https://github.com/organizations/AtlantaMobileDevGroup
●   Slides
    –   http://www.slideshare.net/javaalley
Hunt the Wumpus

More Related Content

What's hot

7 Crucial Things Every Android Developer Should Know
7 Crucial Things Every Android Developer Should Know7 Crucial Things Every Android Developer Should Know
7 Crucial Things Every Android Developer Should KnowMind IT Systems
 
Advanced Techniques for Testing Responsive Apps and Sites -- By Aakrit Prasad
 Advanced Techniques for Testing Responsive Apps and Sites -- By Aakrit Prasad Advanced Techniques for Testing Responsive Apps and Sites -- By Aakrit Prasad
Advanced Techniques for Testing Responsive Apps and Sites -- By Aakrit PrasadApplitools
 
Infinum iOS Talks #1 - Becoming an iOS developer swiftly by Vedran Burojevic
Infinum iOS Talks #1 - Becoming an iOS developer swiftly by Vedran BurojevicInfinum iOS Talks #1 - Becoming an iOS developer swiftly by Vedran Burojevic
Infinum iOS Talks #1 - Becoming an iOS developer swiftly by Vedran BurojevicInfinum
 
Lecture 1 dev_environment
Lecture 1 dev_environmentLecture 1 dev_environment
Lecture 1 dev_environmentmoduledesign
 
Cross Platform Application Development Using Flutter
Cross Platform Application Development Using FlutterCross Platform Application Development Using Flutter
Cross Platform Application Development Using FlutterAbhishek Kumar Gupta
 
Stanislav Khorunzhyi, "Front-end it like a PRO"
Stanislav Khorunzhyi, "Front-end it like a PRO"Stanislav Khorunzhyi, "Front-end it like a PRO"
Stanislav Khorunzhyi, "Front-end it like a PRO"Sigma Software
 
App testing and publishing
App testing and publishingApp testing and publishing
App testing and publishingNiall Roche
 
Multi device development using visual studio (iOS, Android & Windows)
Multi device development using visual studio (iOS, Android & Windows)Multi device development using visual studio (iOS, Android & Windows)
Multi device development using visual studio (iOS, Android & Windows)Karthikeyan Anbarasan (AK)
 
Guardian devexp and_discovery
Guardian devexp and_discoveryGuardian devexp and_discovery
Guardian devexp and_discoveryAde Oshineye
 
JsWorld Conference Online - Improving developer collaboration with CodeSandbox
JsWorld Conference Online - Improving developer collaboration with CodeSandbox JsWorld Conference Online - Improving developer collaboration with CodeSandbox
JsWorld Conference Online - Improving developer collaboration with CodeSandbox Abati Adewale
 
Improving developer collaboration with CodeSandbox
Improving developer collaboration with CodeSandboxImproving developer collaboration with CodeSandbox
Improving developer collaboration with CodeSandboxAbati Adewale
 
Introduction to mobile cross platform solutions(Xamarin vs React Native vs Fl...
Introduction to mobile cross platform solutions(Xamarin vs React Native vs Fl...Introduction to mobile cross platform solutions(Xamarin vs React Native vs Fl...
Introduction to mobile cross platform solutions(Xamarin vs React Native vs Fl...Jianbin LIN
 
Android workshop | LoopTalks
Android workshop | LoopTalksAndroid workshop | LoopTalks
Android workshop | LoopTalksLoopTalks
 
Cv dec 28-2018-mohammad-ashfaq
Cv dec 28-2018-mohammad-ashfaqCv dec 28-2018-mohammad-ashfaq
Cv dec 28-2018-mohammad-ashfaqMohammad Ashfaq
 
Shifting landscape of mobile automation, and the future of Appium - Jonathan ...
Shifting landscape of mobile automation, and the future of Appium - Jonathan ...Shifting landscape of mobile automation, and the future of Appium - Jonathan ...
Shifting landscape of mobile automation, and the future of Appium - Jonathan ...Applitools
 
Cis247 a ilab 1 of 7 creating a user interface
Cis247 a ilab 1 of 7 creating a user interfaceCis247 a ilab 1 of 7 creating a user interface
Cis247 a ilab 1 of 7 creating a user interfaceccis224477
 

What's hot (20)

7 Crucial Things Every Android Developer Should Know
7 Crucial Things Every Android Developer Should Know7 Crucial Things Every Android Developer Should Know
7 Crucial Things Every Android Developer Should Know
 
Advanced Techniques for Testing Responsive Apps and Sites -- By Aakrit Prasad
 Advanced Techniques for Testing Responsive Apps and Sites -- By Aakrit Prasad Advanced Techniques for Testing Responsive Apps and Sites -- By Aakrit Prasad
Advanced Techniques for Testing Responsive Apps and Sites -- By Aakrit Prasad
 
Infinum iOS Talks #1 - Becoming an iOS developer swiftly by Vedran Burojevic
Infinum iOS Talks #1 - Becoming an iOS developer swiftly by Vedran BurojevicInfinum iOS Talks #1 - Becoming an iOS developer swiftly by Vedran Burojevic
Infinum iOS Talks #1 - Becoming an iOS developer swiftly by Vedran Burojevic
 
Lecture 1 dev_environment
Lecture 1 dev_environmentLecture 1 dev_environment
Lecture 1 dev_environment
 
They Ain't Gonna Read It!
They Ain't Gonna Read It!They Ain't Gonna Read It!
They Ain't Gonna Read It!
 
Cross Platform Application Development Using Flutter
Cross Platform Application Development Using FlutterCross Platform Application Development Using Flutter
Cross Platform Application Development Using Flutter
 
Stanislav Khorunzhyi, "Front-end it like a PRO"
Stanislav Khorunzhyi, "Front-end it like a PRO"Stanislav Khorunzhyi, "Front-end it like a PRO"
Stanislav Khorunzhyi, "Front-end it like a PRO"
 
App testing and publishing
App testing and publishingApp testing and publishing
App testing and publishing
 
Multi device development using visual studio (iOS, Android & Windows)
Multi device development using visual studio (iOS, Android & Windows)Multi device development using visual studio (iOS, Android & Windows)
Multi device development using visual studio (iOS, Android & Windows)
 
Guardian devexp and_discovery
Guardian devexp and_discoveryGuardian devexp and_discovery
Guardian devexp and_discovery
 
JsWorld Conference Online - Improving developer collaboration with CodeSandbox
JsWorld Conference Online - Improving developer collaboration with CodeSandbox JsWorld Conference Online - Improving developer collaboration with CodeSandbox
JsWorld Conference Online - Improving developer collaboration with CodeSandbox
 
Internship presentation
Internship presentationInternship presentation
Internship presentation
 
Improving developer collaboration with CodeSandbox
Improving developer collaboration with CodeSandboxImproving developer collaboration with CodeSandbox
Improving developer collaboration with CodeSandbox
 
Introduction to mobile cross platform solutions(Xamarin vs React Native vs Fl...
Introduction to mobile cross platform solutions(Xamarin vs React Native vs Fl...Introduction to mobile cross platform solutions(Xamarin vs React Native vs Fl...
Introduction to mobile cross platform solutions(Xamarin vs React Native vs Fl...
 
Android workshop | LoopTalks
Android workshop | LoopTalksAndroid workshop | LoopTalks
Android workshop | LoopTalks
 
Introduction to Flutter
Introduction to FlutterIntroduction to Flutter
Introduction to Flutter
 
Cv dec 28-2018-mohammad-ashfaq
Cv dec 28-2018-mohammad-ashfaqCv dec 28-2018-mohammad-ashfaq
Cv dec 28-2018-mohammad-ashfaq
 
Shifting landscape of mobile automation, and the future of Appium - Jonathan ...
Shifting landscape of mobile automation, and the future of Appium - Jonathan ...Shifting landscape of mobile automation, and the future of Appium - Jonathan ...
Shifting landscape of mobile automation, and the future of Appium - Jonathan ...
 
Flutter Festival - Intro Session
Flutter Festival - Intro SessionFlutter Festival - Intro Session
Flutter Festival - Intro Session
 
Cis247 a ilab 1 of 7 creating a user interface
Cis247 a ilab 1 of 7 creating a user interfaceCis247 a ilab 1 of 7 creating a user interface
Cis247 a ilab 1 of 7 creating a user interface
 

Viewers also liked

iOS development introduction
iOS development introduction iOS development introduction
iOS development introduction paramisoft
 
Developing Applications on iOS
Developing Applications on iOSDeveloping Applications on iOS
Developing Applications on iOSFrancisco Ramos
 
How & where to start iOS development?
How & where to start iOS development?How & where to start iOS development?
How & where to start iOS development?Kazi Mohammad Ekram
 
Introduction to iOS Apps Development
Introduction to iOS Apps DevelopmentIntroduction to iOS Apps Development
Introduction to iOS Apps DevelopmentProf. Erwin Globio
 
Introduction to iOS Development
Introduction to iOS DevelopmentIntroduction to iOS Development
Introduction to iOS DevelopmentAsim Rais Siddiqui
 
Никита Корчагин - Introduction to Apple iOS Development.
Никита Корчагин - Introduction to Apple iOS Development.Никита Корчагин - Introduction to Apple iOS Development.
Никита Корчагин - Introduction to Apple iOS Development.DataArt
 
iOS Development - A Beginner Guide
iOS Development - A Beginner GuideiOS Development - A Beginner Guide
iOS Development - A Beginner GuideAndri Yadi
 

Viewers also liked (10)

iOS development introduction
iOS development introduction iOS development introduction
iOS development introduction
 
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 MobileCity:Introduction to IOS

Process of iOS App Development
Process of iOS App DevelopmentProcess of iOS App Development
Process of iOS App DevelopmentWDP Technologies
 
App42 Student Lab - Android Game Dev Series V 0.1
App42 Student Lab - Android Game Dev Series V 0.1App42 Student Lab - Android Game Dev Series V 0.1
App42 Student Lab - Android Game Dev Series V 0.1ShepHertz
 
S Kumar Resume
S Kumar ResumeS Kumar Resume
S Kumar ResumeS Kumar
 
Testing on Android
Testing on AndroidTesting on Android
Testing on AndroidAri Lacenski
 
Building a scalable app factory with Appcelerator Platform
Building a scalable app factory with Appcelerator PlatformBuilding a scalable app factory with Appcelerator Platform
Building a scalable app factory with Appcelerator PlatformAngus Fox
 
SadikulIslamDotNetResume
SadikulIslamDotNetResumeSadikulIslamDotNetResume
SadikulIslamDotNetResumeSadikul Islam
 
ICONUK 2014 - From Idea To App
ICONUK 2014 - From Idea To AppICONUK 2014 - From Idea To App
ICONUK 2014 - From Idea To AppRené Winkelmeyer
 
Internship-Report-VitulChauhan-18132023-IT_CRUD-OPERATION.pdf
Internship-Report-VitulChauhan-18132023-IT_CRUD-OPERATION.pdfInternship-Report-VitulChauhan-18132023-IT_CRUD-OPERATION.pdf
Internship-Report-VitulChauhan-18132023-IT_CRUD-OPERATION.pdfVitulChauhan
 
20220728-iOSAppDev-MobileAppDev.pptx
20220728-iOSAppDev-MobileAppDev.pptx20220728-iOSAppDev-MobileAppDev.pptx
20220728-iOSAppDev-MobileAppDev.pptxSuman Garai
 
Programming for non tech entrepreneurs
Programming for non tech entrepreneursProgramming for non tech entrepreneurs
Programming for non tech entrepreneursRodrigo Gil
 
iOS Development Survival Guide for the .NET Guy
iOS Development Survival Guide for the .NET GuyiOS Development Survival Guide for the .NET Guy
iOS Development Survival Guide for the .NET GuyNick Landry
 
Cara Tepat Menjadi iOS Developer Expert - Gilang Ramadhan
Cara Tepat Menjadi iOS Developer Expert - Gilang RamadhanCara Tepat Menjadi iOS Developer Expert - Gilang Ramadhan
Cara Tepat Menjadi iOS Developer Expert - Gilang RamadhanDicodingEvent
 
Latest trends in information technology
Latest trends in information technologyLatest trends in information technology
Latest trends in information technologyEldos Kuriakose
 
6 Skills Every Dot Net Developer Should Master
6 Skills Every Dot Net Developer Should Master6 Skills Every Dot Net Developer Should Master
6 Skills Every Dot Net Developer Should MasterSahid Ali
 
Ramu_Chinni_Java_Engineer_5.6_Years_CV%2520-
Ramu_Chinni_Java_Engineer_5.6_Years_CV%2520-Ramu_Chinni_Java_Engineer_5.6_Years_CV%2520-
Ramu_Chinni_Java_Engineer_5.6_Years_CV%2520-Ramu Chinni
 
Java v/s .NET - Which is Better?
Java v/s .NET - Which is Better?Java v/s .NET - Which is Better?
Java v/s .NET - Which is Better?NIIT India
 

Similar to MobileCity:Introduction to IOS (20)

Process of iOS App Development
Process of iOS App DevelopmentProcess of iOS App Development
Process of iOS App Development
 
App42 Student Lab - Android Game Dev Series V 0.1
App42 Student Lab - Android Game Dev Series V 0.1App42 Student Lab - Android Game Dev Series V 0.1
App42 Student Lab - Android Game Dev Series V 0.1
 
S Kumar Resume
S Kumar ResumeS Kumar Resume
S Kumar Resume
 
Testing on Android
Testing on AndroidTesting on Android
Testing on Android
 
Building a scalable app factory with Appcelerator Platform
Building a scalable app factory with Appcelerator PlatformBuilding a scalable app factory with Appcelerator Platform
Building a scalable app factory with Appcelerator Platform
 
SadikulIslamDotNetResume
SadikulIslamDotNetResumeSadikulIslamDotNetResume
SadikulIslamDotNetResume
 
Anshul Mahajan_iOS
Anshul Mahajan_iOSAnshul Mahajan_iOS
Anshul Mahajan_iOS
 
Resume
ResumeResume
Resume
 
ICONUK 2014 - From Idea To App
ICONUK 2014 - From Idea To AppICONUK 2014 - From Idea To App
ICONUK 2014 - From Idea To App
 
Internship-Report-VitulChauhan-18132023-IT_CRUD-OPERATION.pdf
Internship-Report-VitulChauhan-18132023-IT_CRUD-OPERATION.pdfInternship-Report-VitulChauhan-18132023-IT_CRUD-OPERATION.pdf
Internship-Report-VitulChauhan-18132023-IT_CRUD-OPERATION.pdf
 
20220728-iOSAppDev-MobileAppDev.pptx
20220728-iOSAppDev-MobileAppDev.pptx20220728-iOSAppDev-MobileAppDev.pptx
20220728-iOSAppDev-MobileAppDev.pptx
 
Resume
ResumeResume
Resume
 
Programming for non tech entrepreneurs
Programming for non tech entrepreneursProgramming for non tech entrepreneurs
Programming for non tech entrepreneurs
 
Resume
ResumeResume
Resume
 
iOS Development Survival Guide for the .NET Guy
iOS Development Survival Guide for the .NET GuyiOS Development Survival Guide for the .NET Guy
iOS Development Survival Guide for the .NET Guy
 
Cara Tepat Menjadi iOS Developer Expert - Gilang Ramadhan
Cara Tepat Menjadi iOS Developer Expert - Gilang RamadhanCara Tepat Menjadi iOS Developer Expert - Gilang Ramadhan
Cara Tepat Menjadi iOS Developer Expert - Gilang Ramadhan
 
Latest trends in information technology
Latest trends in information technologyLatest trends in information technology
Latest trends in information technology
 
6 Skills Every Dot Net Developer Should Master
6 Skills Every Dot Net Developer Should Master6 Skills Every Dot Net Developer Should Master
6 Skills Every Dot Net Developer Should Master
 
Ramu_Chinni_Java_Engineer_5.6_Years_CV%2520-
Ramu_Chinni_Java_Engineer_5.6_Years_CV%2520-Ramu_Chinni_Java_Engineer_5.6_Years_CV%2520-
Ramu_Chinni_Java_Engineer_5.6_Years_CV%2520-
 
Java v/s .NET - Which is Better?
Java v/s .NET - Which is Better?Java v/s .NET - Which is Better?
Java v/s .NET - Which is Better?
 

More from Allan Davis

Flutter game development
Flutter game developmentFlutter game development
Flutter game developmentAllan Davis
 
Vr unity cardboard
Vr unity cardboardVr unity cardboard
Vr unity cardboardAllan Davis
 
Continuous Integration for IOS Apps
Continuous Integration for IOS AppsContinuous Integration for IOS Apps
Continuous Integration for IOS AppsAllan Davis
 
Cross Platform Mobile Game Development
Cross Platform Mobile Game DevelopmentCross Platform Mobile Game Development
Cross Platform Mobile Game DevelopmentAllan Davis
 
Mobilecity:Android Introduction
Mobilecity:Android IntroductionMobilecity:Android Introduction
Mobilecity:Android IntroductionAllan Davis
 
MobileCity:Core Data
MobileCity:Core DataMobileCity:Core Data
MobileCity:Core DataAllan Davis
 
MobileCity: UI UX Design
MobileCity: UI UX DesignMobileCity: UI UX Design
MobileCity: UI UX DesignAllan Davis
 
Coocoo for Cocoapods
Coocoo for CocoapodsCoocoo for Cocoapods
Coocoo for CocoapodsAllan Davis
 
MobileCity: Overview of ObjectiveC
MobileCity: Overview of ObjectiveCMobileCity: Overview of ObjectiveC
MobileCity: Overview of ObjectiveCAllan Davis
 

More from Allan Davis (11)

Flutter game development
Flutter game developmentFlutter game development
Flutter game development
 
Vr unity cardboard
Vr unity cardboardVr unity cardboard
Vr unity cardboard
 
Continuous Integration for IOS Apps
Continuous Integration for IOS AppsContinuous Integration for IOS Apps
Continuous Integration for IOS Apps
 
Cross Platform Mobile Game Development
Cross Platform Mobile Game DevelopmentCross Platform Mobile Game Development
Cross Platform Mobile Game Development
 
Mobilecity:Android Introduction
Mobilecity:Android IntroductionMobilecity:Android Introduction
Mobilecity:Android Introduction
 
MobileCity:Core Data
MobileCity:Core DataMobileCity:Core Data
MobileCity:Core Data
 
MobileCity: UI UX Design
MobileCity: UI UX DesignMobileCity: UI UX Design
MobileCity: UI UX Design
 
Coocoo for Cocoapods
Coocoo for CocoapodsCoocoo for Cocoapods
Coocoo for Cocoapods
 
MobileCity: Overview of ObjectiveC
MobileCity: Overview of ObjectiveCMobileCity: Overview of ObjectiveC
MobileCity: Overview of ObjectiveC
 
Generators
GeneratorsGenerators
Generators
 
Django agenda
Django agendaDjango agenda
Django agenda
 

Recently uploaded

Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 

Recently uploaded (20)

Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 

MobileCity:Introduction to IOS

  • 2. About Me ● Allan Davis – Lead Developer of Mobile Technology for DealerMatch – Cajun.code@gmail.com – @cajun_code
  • 3. Class Agenda 1. Introduction 2. Objective C 3. UI Design and Development 4. Core Data 5. Web Services and Networking 6. Profiling, Debugging and Distributing
  • 4. Session Agenda ● IOS Overview ● Tools and Getting Started ● MVC ● Test Driven Development ● TipCalculator Demo ● Prize Picker
  • 10. Xcode ● Go to the Mac App Store ● Search for Xcode ● Download Xcode
  • 11. Xcode
  • 12. MVC
  • 13. MVC
  • 14. MVC
  • 15. TDD
  • 16. What is Test Driven Development? ● Test-driven development (TDD) is a software development process that relies on the repetition of a very short development cycle: first the developer writes an (initially failing) automated test case that defines a desired improvement or new function, then produces the minimum amount of code to pass that test and finally refactors the new code to acceptable standards. Kent Beck, who is credited with having developed or 'rediscovered' the technique, stated in 2003 that TDD encourages simple designs and inspires confidence. - Wikipedia
  • 18. Tip Calculator ● Develop Calculator model ● Create Screen Layout ● Bind layout to Controller ● Integrate model in controller
  • 19. Resources ● Stanford iTunes U – http://www.stanford.edu/class/cs193p/cgi-bin/drupal/downloads-2011-fall – http://itunes.apple.com/itunes-u/ipad-iphone-application-development/id473757255?mt=10 ● Apple Developer Site – http://developer.apple.com ● Books – IOS Programming: Big Nerd Ranch Guide – IPhone for Programmers: an App-Driven Approach – Programming iOS 5
  • 20. Code Available on Github ● Code – https://github.com/organizations/AtlantaMobileDevGroup ● Slides – http://www.slideshare.net/javaalley