Get in Touch

Course Outline

Day 1:

  1. OOPS concepts
  2. Software fundamentals
  3. Organized vs. unorganized spaces
  4. The importance of software
  5. The value of iOS
  6. Apple history
  7. iOS history
  8. Apple’s unique selling proposition
  9. What Apple is known for
  10. User Experience vs. User Interface
  11. Understanding IDEs
  12. Xcode overview
  13. Xcode installation
  14. Transition from Objective-C to Swift
  15. Key features of 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, etc.
  25. UIApplication main delegate
  26. Application lifecycle
  27. View lifecycle
  28. Any type
  29. Optionals
  30. Access control: internal, public, private
  31. init
  32. deinit
  33. Playgrounds

Application Exercise: 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. UITableView headers, footers, and height
  7. Overview of UICollectionView
  8. Dequeueing in UITableView
  9. Maps
  10. Optionals
  11. didSet
  12. willSet
  13. Guard statements
  14. 2x and 3x resolution concepts
  15. Navigating between views
  16. UINavigationController
  17. Presenting view controllers
  18. Storyboards
  19. Xibs
  20. Constraints
  21. Size classes
  22. Protocols - required and optional
  23. Memory management

Application Exercise: Notes app: Adding, deleting, and updating notes

Day 3:

  1. Gestures
  2. Closures
  3. Groups and folders
  4. Gesture recognizers
  5. XML Parsing
  6. NSJSONSerialization
  7. Converting Data to JSON
  8. FileManager
  9. Tuples
  10. Enumerations (Enum)
  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

Application Exercise: Fetching data from a server via an open API app, 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 (NSSearchDomain)
  6. UITabBarController
  7. Localization
  8. Keychain
  9. UserDefaults
  10. Property Lists (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. UIProgressBar
  21. UIPageControl
  22. UIStepper
  23. UIScrollView
  24. UIPickerView
  25. UIActionSheet
  26. UIWebView
  27. SearchBar
  28. New targets: Apple Watch, Extensions, Keyboard, Today Widget, etc.
  29. Notifications in iOS
  30. Incorporating third-party libraries
  31. Core Data
  32. Deployment and distribution
  33. Running apps on real devices

Application Exercise: Fetching data from a server via an open API app, creating a table view, populating data, displaying details, adding a search bar, implementing search functionality, and using Core Data.

Day 5:

  1. Push notifications - Silent and Push
  2. Localization
  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

Application Exercise: Developing an app 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 (1)

Upcoming Courses

Related Categories