Course Outline
Day 1:
- OOPS concepts
- What is software
- Organized v/s un-organized rooms
- Why Software
- Why 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 now why Swift?
- Wow Factors in Swift
- Swift Basics
- Variables
- Constants
- Hello World in Swift
- Label making 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 to Do: Dots Game: https://apps.apple.com/app/the-dots-free/id850315430
Day 2:
- UIView animations
- Extenstion
- UITable View
- Custom Cell in Table View
- Delegate and Data Source Methods in Delegates
- Header, Footer, Height, etc of Table View
- Brief of Collection View
- Deque in table view
- Mark
- Optionals
- didSet
- willSet
- Guard
- 2x and 3x concepts
- Navigate from one view to other
- UINavigation Controller
- Present a Controller
- StoryBoards
- Xibs
- Constraints
- Size classes
- Protocols - Required and optional
- Memory management
Application to Do: Notes app : Adding, deleting and updating note
Days 3:
- Gestures
- Closure
- Groups and folders
- Gesture recognizers
- XML Parsing
- NSJSon Serialization
- Converting Data to Json
- File Manager
- Tuples
- Enum
- For-in
- While
- Webservices
- URL Session
- URLRequest
- Why eco system of apple is best
- Printable - description
- Hashable
- UIAlertView
- UIActivityIndicatorView
Application to Do: Getting data from server from an open API app and make a table view and populate data and show its details also.
Days 4:
- Lazy loading of images
- Lazy properties
- NSOperationQueue
- GCD
- Directory concept and security of apps NSSearchDomain
- Tab Bar controller
- Localization
- Key Chain
- User Defaults
- PLists
- FileManager
- SQlite
- Extensiosn
- Social media integration: Make own sharable content
- UITextField
- UITextView
- UISegementControl
- UISlider
- UiSwtich
- UIProgessBar
- UIPageControl
- UIStepper
- UIScrollView
- UIPicker
- UIActionSheet
- UIWebView
- SearchBar
- New target : Apple Watch, Extensions, Keyboard, Today, etc
- NSNotifications in IOS
- Adding third party libraries
- Core Data
- Deployment and distribution
- Running app on real devices
Application to Do: Getting data from server from an open API app and make a table view and populate data and show its details also and show Search bar and search for something and Core
Days 5:
- Push Notification - Silent and Push
- Localization
- Overview of Objective C
- Properties
- Categories
- Functions syntax
- .h and .m file
- Property attributes readWrite and readOnly
- Property attributes strong, weak and copy
- Property attributes atomic and non-atomic
- Uploading app to app store
Application of your own idea
Requirements
You must have at least one programming language experience in the past.
Testimonials (5)
The way of transferring knowledge and the knowledge of the trainer.
Jakub Rekas - Bitcomp Sp. z o.o.
Course - Machine Learning on iOS
The instructor tried to make things dynamic, and he demonstrated dominance of the topic.
Libranner Santos
Course - iOS Automation Testing
Pacing, depth, and explanations were all superb. It's clear Scott is an expert on the subject and learning from him was super enjoyable.
Ben Leiken - SurveyMonkey
Course - Reactive Programming for iOS with RxSwift
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.
Abdullah Alaradi - Thiqah Business Services
Course - iPhone and iPad Development in Swift for iOS 8 and Xcode 6
Antonio gave is much background information, best practices and showed us useful tools to speed up our development process.