Get in Touch

Course Outline

Day 1:

  1. Object-Oriented Programming (OOPS) concepts
  2. What is software?
  3. Organised vs unorganised rooms
  4. Why software?
  5. Why iOS?
  6. Apple history
  7. iOS history
  8. Apple's unique selling proposition (USP)
  9. What Apple is known for
  10. UX vs UI
  11. What is an IDE?
  12. Xcode
  13. Xcode installation
  14. Why Objective-C and now why Swift?
  15. Wow factors in Swift
  16. Swift basics
  17. Variables
  18. Constants
  19. Hello World in Swift
  20. Creating labels via code
  21. ImageView
  22. ImageView animations
  23. NSTimer
  24. Responder chain - touchBegan, touchMoved, and other methods
  25. UIApplication main delegate
  26. Application lifecycle
  27. View lifecycle
  28. Any
  29. Optionals
  30. internal, public, private
  31. init
  32. deinit
  33. Playground

Practical Application: Dots Game: https://apps.apple.com/app/the-dots-free/id850315430

Day 2:

  1. UIView animations
  2. Extensions
  3. UITableView
  4. Custom cells in UITableView
  5. Delegate and data source methods
  6. Headers, footers, row heights, and more in UITableView
  7. Brief overview of UICollectionView
  8. Dequeuing in UITableView
  9. Mark
  10. Optionals
  11. didSet
  12. willSet
  13. Guard
  14. 2x and 3x concepts
  15. Navigating between views
  16. UINavigationController
  17. Presenting a controller
  18. Storyboards
  19. Xibs
  20. Constraints
  21. Size classes
  22. Protocols - required and optional
  23. Memory management

Practical Application: Notes App: Adding, deleting, and updating notes

Day 3:

  1. Gestures
  2. Closures
  3. Groups and folders
  4. Gesture recognisers
  5. XML parsing
  6. NSJSONSerialization
  7. Converting data to JSON
  8. FileManager
  9. Tuples
  10. Enums
  11. For-in loops
  12. While loops
  13. Web services
  14. URLSession
  15. URLRequest
  16. Why Apple's ecosystem is superior
  17. Printable - description
  18. Hashable
  19. UIAlertView
  20. UIActivityIndicatorView

Practical Application: Fetching data from an open API server, creating a table view, populating data, and displaying details.

Day 4:

  1. Lazy loading of images
  2. Lazy properties
  3. NSOperationQueue
  4. GCD (Grand Central Dispatch)
  5. Directory concepts and app security with NSSearchDomain
  6. TabBarController
  7. Localisation
  8. Keychain
  9. User Defaults
  10. PLists
  11. FileManager
  12. SQLite
  13. Extensions
  14. Social media integration: Creating shareable content
  15. UITextField
  16. UITextView
  17. UISegmentedControl
  18. UISlider
  19. UISwitch
  20. UIProgressView
  21. UIPageControl
  22. UIStepper
  23. UIScrollView
  24. UIPickerView
  25. UIActionSheet
  26. UIWebView
  27. SearchBar
  28. New targets: Apple Watch, Extensions, Keyboard, Today, etc.
  29. NSNotifications in iOS
  30. Adding third-party libraries
  31. Core Data
  32. Deployment and distribution
  33. Running apps on physical devices

Practical Application: Fetching data from an open API server, creating a table view, populating data, displaying details, incorporating a search bar to search for content, and implementing Core Data.

Day 5:

  1. Push notifications - silent and push
  2. Localisation
  3. Overview of Objective-C
  4. Properties
  5. Categories
  6. Function syntax
  7. .h and .m files
  8. Property attributes: readWrite and readOnly
  9. Property attributes: strong, weak, and copy
  10. Property attributes: atomic and non-atomic
  11. Uploading apps to the App Store

Final Project: Develop an application based on your own idea

Requirements

Participants must have prior experience with at least one programming language.

 35 Hours

Number of participants


Price per participant

Testimonials (2)

Provisional Upcoming Courses (Require 5+ participants)

Related Categories