Course Outline
Day 1:
- OOPS concepts
- Understanding software
- Organized v/s un-organized rooms
- The value of Software
- The case for iOS
- Apple History
- iOS History
- Apple’s USP
- What Apple is famous for
- UX v/s UI
- IDE?
- XCode
- XCode installation
- Why Objective C and why Swift now?
- Wow Factors in Swift
- Swift Basics
- Variables
- Constants
- Hello World in Swift
- Creating Labels via code
- ImageView
- ImageView animations
- NSTimer
- Responder Chain - touchBegan, touchMoved, etc. methods
- UIApplication main delegate
- Application Life Cycle
- View Life Cycle
- Any
- Optionals
- internal, public, private
- init
- deinit
- Playground
Application Exercise: Dots Game: https://apps.apple.com/app/the-dots-free/id850315430
Day 2:
- UIView animations
- Extensions
- UITableView
- Custom Cells in Table View
- Delegate and Data Source Methods
- Table View Headers, Footers, Heights, etc.
- Brief overview of Collection View
- Deque in table view
- Mark
- Optionals
- didSet
- willSet
- Guard
- 2x and 3x concepts
- Navigating between views
- UINavigationController
- Presenting a Controller
- Storyboards
- Xibs
- Constraints
- Size classes
- Protocols - Required and optional
- Memory management
Application Exercise: Notes app: Adding, deleting and updating notes
Days 3:
- Gestures
- Closures
- Groups and folders
- Gesture recognizers
- XML Parsing
- NSJSONSerialization
- Converting Data to JSON
- File Manager
- Tuples
- Enum
- For-in
- While
- Web services
- URL Session
- URLRequest
- Why Apple's ecosystem is superior
- Printable - description
- Hashable
- UIAlertView
- UIActivityIndicatorView
Application Exercise: Retrieving data from a server via an open API app, creating a table view, populating data, and displaying its details.
Days 4:
- Lazy loading of images
- Lazy properties
- NSOperationQueue
- GCD
- Directory concepts and app security NSSearchDomain
- Tab Bar controller
- Localization
- Key Chain
- User Defaults
- PLists
- FileManager
- SQLite
- Extensions
- Social media integration: Creating shareable content
- UITextField
- UITextView
- UISegmentedControl
- UISlider
- UISwitch
- UIProgressView
- UIPageControl
- UIStepper
- UIScrollView
- UIPickerView
- UIActionSheet
- UIWebView
- SearchBar
- New targets: Apple Watch, Extensions, Keyboard, Today, etc.
- NSNotifications in iOS
- Integrating third-party libraries
- Core Data
- Deployment and distribution
- Running the app on real devices
Application Exercise: Retrieving data from a server via an open API app, creating a table view, populating data, displaying details, implementing a search bar, and utilizing Core
Days 5:
- Push Notifications - Silent and Push
- Localization
- Overview of Objective-C
- Properties
- Categories
- Function syntax
- .h and .m files
- Property attributes: readWrite and readOnly
- Property attributes: strong, weak, and copy
- Property attributes: atomic and non-atomic
- Uploading the app to the App Store
Application Exercise: Building your own app idea
Requirements
You must have prior experience with at least one programming language.
Testimonials (1)
He's an experienced trainer with a real life experience in the topic he was teaching. That led the course to cover the most important topics which interests any developer working in the field, and small details would be easily overseen if he was not working in this platform. Moreover, he was giving the course using the latest versions of is and Swift (10 \ 3) and that is a huge advantage to be adapting such new technology in short time.