Skip to content

This project was born to collect all my iOS development knowledge acquired in the year of 2018 at the iOS Development Laboratory, UNAM, campus CU. The academic institution provided me Apple material that was readable but not editable, so I created a new awesome documentation that includes notes, images, animated GIFs, drawings, diagrams, bash sc…

License

c4arl0s/AppDevelopmentWithSwiftGeneralIndex

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 

Repository files navigation

go back to main index

Notes xcodeproj
  1. 1. A little History
  2. 2. A modern language
  3. 3. A safe language
  4. 4. Open Source
  5. 5. Hello World
  6. 6. Terminal
  7. 7. Playground
Notes
  1. 1. Constants
  2. 2. Variables
  3. 3. Constant or Variable
  4. 4. Naming Constants and Variables
  5. 5. Comments
  6. 6. Types
  7. 7. Type Safety
  8. 8. Type Inference
  9. 9. Required values
Notes
  1. 1. Assign a value
  2. 2. Basic Arithmetic
  3. 3. Compound Assignment
  4. 4. Order of Operations
  5. 5. Numeric type conversion
Notes
  1. 1. Logical Operators
  2. 2. If statements
  3. 3. if-else Statements
  4. 4. Boolean Values
  5. 5. Switch Statement
  6. 6. Ternary Operator
Notes
  1. 1. Xcode Interface
  2. 2. Xcode file types
  3. 3. Keyboard Shorcuts
  4. 4. Xcode Preferences
Notes
  1. 1. Building and Running
  2. 2. Using a Personal Device
  3. 3. Building and Running Wirelessly
  4. 4. Debugging an Application
  5. 5. Warnings
  6. 6. Compile Errors
  7. 7. Bugs
  8. 8. Lab - Debug your first app
At a glance
  1. 1. Documentation Browser
  2. 2. Sample Code and Guides
  3. 3. Lab - Use Documentation
At a glance: Notes
  1. 1. Storyboards
  2. 2. Interface Builder Layout
  3. 3. Outlets and Actions
  4. 4. A note about Interface Builder
  5. 5. Lab - Use Interface Builder
At a glance: Notes
  1. Part 1: Create a button and an Action
  2. Part 2: Change the background
  3. Part 3: Update the button text
  4. Part 4: Improve the User Experience
  5. WrapUp
At a glance: Notes
  1. 1. String
  2. 2. multiple lines
  3. 3. Empty string
  4. 4. character as string
  5. 5. Concatenation
  6. 6. operator +=
  7. 7. Interpolation
  8. 8. Entire expression into parenthesis
  9. 9. Equality
  10. 10. lowercased() method
  11. 11. hasPrefix(:) and hasSuffix(:) methods
  12. 12. contains(_:) method
  13. 13. count property
  14. 14. Using switch statement to pattern-match multiple values of strings or characters
  15. 15. More Advance String topics
  16. 16. Iterate over each character of a String instance
  17. 17. UNICODE
At a glance: Notes
  1. 1. Defining a Function
  2. 2. Parameters
  3. 3. Argument Labels
  4. 4. Default Parameter Values
  5. 5. Return Values
At a glance: Notes
  1. 1. Structure definition
  2. 2. Instances
  3. 3. Initializer
  4. 4. Default Values
  5. 5. Memberwise initializers
  6. 6. Custom Initializers
  7. 7. Instance Methods
  8. 8. Mutating Methods
  9. 9. Computed Properties
  10. 10. Property Observers
  11. 11. Type Properties and Methods
  12. 12. Copying
  13. 13. self
  14. 14. Variable properties
At a glance: Notes
  1. 1. Classes Definition
  2. 2. Inheritance
  3. 3. Defining a Base Class
  4. 4. Create a subclass
  5. 5. Override Methods and Properties
  6. 6. Override Initializer
  7. 7. References
  8. 8. Memberwise Initializers
  9. 9. Class or Structure
  10. 10. Working with Frameworks that use Classes
  11. 11. Stable Identity
At a glance: Notes
  1. 1. Arrays
  2. 2. Array Types
  3. 3. Working with Arrays
  4. 4. Dictionaries
  5. 5. Add / Remove / Modify a dictionary
  6. 6. Accessing a Dictionary
At a glance: Notes
  1. 1. The Array
  2. 2. Accessing the Array
  3. 3. Modifying the Array
  4. 4. The Set
  5. 5. Accesing and Modifying the Set
  6. 6. Set Operations
  7. 7. The Hashable Protocol
  8. 8. The Dictionary
  9. 9. Creating Dictionaries
  10. 10. Heterogeneous Dictionaries
  11. 11. Accesing & Modifying the contents of a Dictionary
At a glance: Notes
  1. 1. For Loops
  2. 2. While Loops
  3. 3. Control Transfer Statement
At a glance: Notes
  1. 1. Common System Views
  2. 2. Label
  3. 3. Image View
  4. 4. Text View
  5. 5. Scroll View
  6. 6. Table View
  7. 7. Toolbars
  8. 8. Navigation Bars
  9. 9. Tab Bars
  10. 10. Controls
  11. 11. Buttons
  12. 12. Segmented Controls
  13. 13. Text Fields
  14. 14. Sliders
  15. 15. Switches
  16. 16. Date Pickers
  17. 17. View Controllers
  18. 18. Lab - UIKit Survey
At a glance: Notes
  1. 1. Planning the App
  2. 2. Create the Project
  3. 3. Enter your information
  4. 4. Address Layout Issues
  5. 5. Lab - Tutorial Screen
At a glance: Notes
  1. 1. Buttons
  2. 2. Switches
  3. 3. Sliders
  4. 4. Text Fields
  5. 5. Actions and Outlets
  6. 6. Gesture Recognizers
  7. 7. Programmatic Actions
  8. 8. Lab - Basic Interactions
At a glance: Notes
  1. 1. Why Autolayout
  2. 2. Create Alignment Constraints
  3. 3. Create size constraints
  4. 4. Constraints Relative to the Screen
  5. 5. Safe Area Layout Guide
  6. 6. Resolve Constraints Issues
  7. 7. Resolve Constraints Warnings
  8. 8. Constraints Between Siblings
  9. 9. Stack Views
  10. 10. Stack Views Attributes
  11. 11. Size Classes
  12. 12. Vary Traits
  13. 13. Installed
  14. 14. Debug View Hierarchy
  15. 15. Lab calculator

Simple User Interface calculator that maintains its layout on all device sizes.

Notes Notes Notes xcodeproj
  1. Step 1
  2. Step 2
  3. Step 3
  4. Step 4
  5. Step 5
  6. Step 6
  7. Step 7
  8. Step 8
  9. Step 9
  10. Step 10
  11. Step 11
  12. Step 12
  13. Step 13

Word guessing game.

Notes Code Diagrams xcodeproj
  1. 1. Build the Interface
  2. 2. Layout in Storyboard
  3. 3. Create Outlets and Actions
  4. 4. Beginning a Game
  5. 5. Define Words and Turns
  6. 6. Define Number of Winds and Losses
  7. 7. Begin first round
  8. 8. Update Game State
  9. 9. Extract Button Title
  10. 10. Guess Letter
  11. 11. Create Revealed Word
  12. 12. Handle a Win Or Loss
  13. 13. Re-enable Buttons and Fix Crash
  14. 14. Wrapup
  15. 15. Streth Goals
At a glance: Notes
  1. 1. Optionals
At a glance: Notes
  1. 1. Type Casting
  2. 2. Any
At a glance: Notes
  1. 1. Guard with optionals
At a glance: Notes
  1. 1. Variable Shadowing
  2. 2. Shadowing and Initializers
At a glance: Notes
  1. 1. Control Flow
  2. 2. Type Safety Benefits
  3. 3. Raw Values
  4. 4. Associated Values
  5. 5. How to combine the use of Associated Values and Row values
At a glance: Notes
  1. 1. Segues
  2. 2. Create Triggered Segues
  3. 3. Unwind Segue
  4. 4. Navigation Controllers
  5. 5. Navigation Bar
  6. 6. Navigation Item
  7. 7. Large Titles
  8. 8. Pass Information
  9. 9. Create Programmatic Segues
  10. 10. Lab - Login (click to go to the project
At a glance: Notes
  1. 1. Add Tab Bar Controller
  2. 2. Add Tabs
  3. 3. Tab Bar Items
  4. 4. Customize Tab Bar Items
  5. 5. Programmatic Customization
  6. 6. Even More Tab Items
  7. 7. Extend The Lesson - More View Controllers
  8. 8. Challenge
  9. 9. Refactor to Storyboard...
  10. 10. Lab - About Me
At a glance: Notes
  1. 1. View Controller Life Cycle
  2. 2. View Did Load
  3. 3. View Event Management
  4. 4. View Will Appear and View Did Appear
  5. 5. View Will Disappear View Did Disappear
  6. 6. Challenge
  7. 7. LAB - Order of Events
At a glance: Notes
  1. 1. Designing Principles
  2. 2. Human Interface Guidelines
  3. 3. Navigation Hierarchy
  4. 4. Example Workflow
  5. 5. Lab - Pizza Delivery

The app is a game that is going to reflect part of your personality, it has answers that maybe make no sense but it is an actual game.

Notes xcodeproj
  1. 1. Project Planning
  2. 2. Project Setup
  3. 3. Create questions and answers
  4. 4. Models and Outlets
  5. 5. Calculate and display results
At a glance: Notes
  1. 1. Dissecting the Project Template
  2. 2. Basic of ARKit and SceneKit
  3. Scene Positioning
  4. Exercises
  5. Advanced Questions
At a glance: Notes
  1. 1. SceneKit Objects
  2. 2. Creating Scenes
  3. 3. Exercises
At a glance: Notes

| | | | |

  1. 1. Feature Points
  2. 2. Plane Detection
  3. 3. Visualizing Planes
  4. 4. Connecting Assets to Planes
  5. 5. Exercises
At a glance: Notes
  1. 1. Project SetUp
  2. 2. Creating a Baseball Hoop
  3. 3. Vertical Plane Detection
  4. 4. Placing The Basketball Hoop
  5. 5. Hit Testing
  6. 6. Creating and Position Basketballs
  7. 7. Incorporating Physics
  8. 8. Physics Body
  9. 9. Physics Shape
At a glance: Notes
  1. 1. Printing information with CustomStringConvertible
  2. 2. Comparing information with Equatable
  3. 3. Sorting information with Comparable
  4. 4. Encoding and Decoding Objects with Codable
  5. 5. Creating a protocol
  6. 6. Delegation
At a glance: Notes
  1. 1. Break Down The Delegate
  2. 2. Did Finish Launching
  3. 3. Will Resign Active
  4. 4. Did Enter Background
  5. 5. Will Enter Foreground
  6. 6. Did Become Active
  7. 7. Will Terminate
  8. 8. Try it Out
  9. 9. Which Method Should I Use?
  10. 10. Lab - App Event Count
At a glance: Notes
  1. 1. Model
  2. 2. Views
  3. 3. Controllers
  4. 4. Example
  5. 5. Project Organization
  6. 6. Lab - Favorite Athletes
At a glance: Notes
  1. 1. Scrollviews in Interface Builder
  2. 2. Keyboard Issues
  3. 3. Content Insets And Scroll Indicator Insets
  4. 4. The Scroll View Family
  5. 5. Challenge
  6. 6. Lab - iSpy
At a glance: Notes
  1. 0. TableView - Intro
  2. 1. Anatomy of a Table View
  3. 2. Table View Style
  4. 3. Table View Editing
  5. 4. Table View Cells
  6. 5. Table View Readability Margings
  7. 6. Index Paths
  8. 7. Arrays and Table Views
  9. 8. Cell Dequeueing
  10. 9. Table View Protocols
  11. 10. Table View Data Source
  12. 11. Number of Sections
  13. 12. Number of Rows in a Section
  14. 13. Cell for Row at Index Path
  15. 14. Implement the Data Source
  16. 15. Table View Delegate
  17. 16. Accessory Button tapped for Row
  18. 17. Did Select Row
  19. 18. Implement the Delegate
  20. 19. Reorder Cells
  21. 20. Reload Data
  22. 21. Challenge
At a glance: Notes
  1. 0. Intermediate Table Views - Intro
  2. 1. Custom Table View Cells
  3. 2. Content Hugging
  4. 3. Create Cell Subclass
  5. 4. Edit Table Views
  6. 5. Delete Items
  7. 6. Add and edit Emoji
  8. 7. Static Table Views
  9. 8. Enable Emoji Keyboard
  10. 9. Pass Data to Static Table View
  11. 10. Add Action Buttons with Unwind Segue
  12. 11. Update Save button
  13. 12. Save Emoji
  14. 13. Automatic Row Height
  15. 14. Compression Resistence
  16. 15. Lab - Favorite Books
At a glance: Notes
  1. 0. Introduction
  2. 1. Encoding and Decoding with Codable
  3. 2. Writing Data to a File
  4. 3. Sandboxing and the Documents Directory
  5. 4. Writing the Data
  6. 5. Saving and Array of Model Data
  7. 6. Translating from a Playground to a Project
  8. 7. Lab - Remember your Emojis
At a glance: Notes
  1. 1. Create the Project
  2. 2. Share with the Activity View Controller
  3. 3. Use Safari to Display Web Content
  4. 4. Present an Alert Controller
  5. 5. Access the Camera
  6. 6. Send email from your app
  7. 7. Wrap up
  8. 8. Challenge
  9. 9. Lab - Home Furniture Sharing

The app allows you to register guests when they arrive at the hotel.

Notes Code Diagrams xproj
  1. 1. Model
  2. 2. Input Screens
  3. 3. Collect Strings
  4. 4. Collect Dates
  5. 5. Show or Hide Date Pickers
  6. 6. Collect Numbers
  7. 7. Collect Binary Input
  8. 8. Collect Predefined Options
  9. 9. Create a New Model Object Instance
  10. 10. Incorporate The Form Into a Workflow
  11. 11. Challenge
  12. 12. Lab - Employee Roster

Display, add, delete and save a list of tasks.

Notes Code Diagrams xproj
  1. 1. Project Planning
  2. 2. Set up Project and Display Models
  3. 3. Add and Delete Controls
  4. 4. Static Table View Interface
  5. Connect the Static Table View to Code
  6. 6. Create and Save the model
  7. 7. Editing Details
  8. 8. Create a Custom UITableViewCell
  9. 9. Codable
  10. 10. Wrapup
  11. 11. Stretch Goals
  12. 12. summary
  13. 13. Set constraints for dueDateLabel and its location
  14. 14. Hide text view when switch is off
Notes xcodeproj
  1. 1. Syntax
  2. 2. Passing Closures as Arguments
  3. 3. Additional Syntactic Sugar
  4. 4. Trailing Closure Syntax
  5. 5. Collection Functions Using Closures
  6. 6. Closures Capture Their Environment
At a glance: Notes
  1. 1. Adding Computed Properties
  2. 2. Adding instance or Type Methods
  3. 3. Organizing Code
At a glance: Notes
  1. 1. Why Animate?
  2. 2. Direct the User's Attention
  3. 3. Keep the User Oriented
  4. 4. Connect User behaviors
  5. 5. What can be animated?
  6. 6. Animation Closures
  7. 7. Animate with Duration
  8. 8. Add a Completion Handler
  9. 9. Add a Delay or Custom Options
  10. 10. The Transform Property
  11. 11. Animation in Practice
  12. 12. Build an Animation Wireframe
  13. 13. Set up the View
  14. 14. Add outlets
  15. 15. Initialize Views
  16. 16. Add Album Art Animation
  17. 17. Add Button Animations
  18. 18. Animate Constraints
  19. 19. Lab Contest App- Objective
At a glance: Notes
  1. 1. The Basics
  2. 2. Protocol
  3. 3. Subdomain
  4. 4. Domain Name
  5. 5. Port
  6. 6. Path
  7. 7. Query Parameters
  8. 8. Request Type, Headers, and Body
  9. 9. Create an URL
  10. 10. Create and execute a network request
  11. 11. Create a Data Task
  12. 12. Send the Request
  13. 13. Process The Response
  14. 14. Work With an API
  15. 15. API Basics
  16. 16. Create the API Request
  17. 17. Modify a URL with URL components
  18. 18. Lab - iTunes Search (Part 1)
At a glance: Notes
  1. 1. JSON basics
  2. 2. Decoding into Swift Types
  3. 3. Converting JSON Data to Swift types
  4. 4. Decoding Into Custom Model Objects
  5. 5. Initialize Model Objects Using Codable
  6. 6. Update The request Completion Handler
  7. 7. Where to put your code
  8. 8. Make Your Nerworking Code to a function
  9. 9. Write a Completion Handler
  10. 10. Addressing Failure
  11. 11. Decide Where The Function should live
  12. 12. Add to the View Controller
  13. 13. Static Function on the PhotoInfo Type
  14. 14. Build a Model Controller
  15. 15. Wrapup
  16. 16. Lab - iTunes Search Part 2 (link)
At a glance: Notes
  1. 1. Get Started
  2. 2. Import Your Playground Code
  3. 3. Make The Network Request
  4. 4. Concurrency And Grand Central Dispatch
  5. 5. Fetch And Display The Photo
  6. 6. App Transport Security And The HTTP Protocol
  7. 7. Updating Info.plist for HTTP Exemption
  8. 8. Updating the URL to Use HTTPS
  9. 9. A note about Videos
  10. 10. Use The Network Activity Indicator
  11. 11. WrapUp
  12. 12. LAB - iTunes Search (Part 3)

Interactive menu that displays offerings, adds orders and sent order request using a local service.

Notes Code Diagrams xproj
  1. 1. Part One: Server Details and Project Setup
  2. 2. Part Two: Project Planning
  3. 3. Part Three: Set up the Storyboard Workflow
  4. 4. Part Four: Add NetWorking Code
  5. 5. Part five: Categories
  6. 6. Part Six: Menu Items
  7. 7. Part Seven: Menu Details
  8. 8. Part Eight: View and Edit Order
  9. 9. Part Nine: Submit Order
  10. 9. Part Ten: Request Images
  11. 11. Wrap Up
  12. 12. Stretch Goals
  13. 13. Project Extension - State Restoration
  14. 14. Summary
  15. 15. About the UI Restoration Process (Apple Documentation Article)
  16. 16. About the UI Restoration Process (Apple Documentation Article)
  1. 1. App Icons
  2. 2. Launch Screens
  3. 3. Images and Icons
  4. 4. Animation
  5. 5. Typography
  6. 6. Branding and Stylizing
  7. 7. Wrapup
  8. 8. Lab - Favorite Apps
  1. 1. Brainstorm
  2. 2. Plan
  3. 3. Prototype
  4. 4. Evaluate
  5. 5. Iterate
  6. 6. Create Higher-Quality Prototypes
  7. 7. Lab - Prototype Your own idea
  1. 1. Building an Interface
  2. 2. Do your research
  3. 3. Define the model
  4. 4. Define Views and View Controllers
  5. 5. Define Model or Helper Methods
  6. 6. Check against your feature list
  7. 7. Build your project Plan
  8. 8. Wrapup

This projects are not well organized:

  1. Core Graphics
  2. https://github.com/c4arl0s/BezierPathExampleCoreGraphics_ObjectiveC
  3. https://github.com/c4arl0s/BezierPathExampleCoreGraphics
  4. https://github.com/c4arl0s/GlassWaterCounterCoreGraphics
  5. https://github.com/c4arl0s/SimpleView_UIKitCore_UIGraphics
  6. https://github.com/c4arl0s/SimpleLinesCoreGrapghics
  7. https://github.com/c4arl0s/AddQuadCurveExampleCoreGraphics
  8. https://github.com/c4arl0s/AddQuadCurveExampleCoreGraphics

About

This project was born to collect all my iOS development knowledge acquired in the year of 2018 at the iOS Development Laboratory, UNAM, campus CU. The academic institution provided me Apple material that was readable but not editable, so I created a new awesome documentation that includes notes, images, animated GIFs, drawings, diagrams, bash sc…

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published