- Variables
- Constants
- Type inference
- Type casting
- If statement
- Switch statement
- Identity and Equality operator
- For Loop
- While loop
- Range operators
- Adding, fetching, removing elements
- Looping through array
- Accessing index and value in array with enumerated()
- Adding, fetching, removing elements
- Looping through dictionary
- Declaring Optional variables, constants
- Unwrapping optionals with if-let, guard
- Force unwrapping optionals
- Optional chaining from dictionary and custom object
- Implicitly unwrapped optionals
- Closure syntax
- Creating closure variables
- Calling a closure
- Using closure as a parameter to a function
- Closures with escaping parameters
- Creating a class and a struct
- Constant and variable class instances and struct instances
- Reference type as class and structs
- What is inheritance
- Why we need inheritance
- Limitations of inheritance
- Extensions and its limitations
- Why we need protocols
- How to create and use protocols
- How to pass data using protocols
- Protocol extensions
- Intro to Stack Views
- How to use vertical and horizontal stackviews
- Nested stackviews
- With Constraints
- With StackViews
- How to use protocols to send data between view controllers (Delegation pattern)
- How to use properties to send data to next screen
- How to send data using segues
- TableView with default cell
- TableView with custom cell
- Show segue
- Modal segue
- How to use Xibs instead of storyboard
- How to navigate between view controllers with Xibs
- Fetch and save data in core data
- Difference between relational database and object oriented database
- Core data operations: Fetch, Save, Update, Delete
- Core data relationships
- How to read json from a json file
- How to convert json to dictionary or array with json serialization
- How to create GET request
- How to use completion handlers
- How to create an Api Manager class to create network request
- How to handle response after network request
- How to install libraries with Cocoapods
- How to install libraries with Swift Package manager