Gabriel Spranger Rojas

Gabriel Spranger Rojas

Lima

Looking forward to learning all the secrets of iOS development.

7,350

Total Points

Points are earned whenever you take an important action on Treehouse.
Learn more about when and how points are earned.

Skills & Experience

  • Spoken Languages

    • Spanish, English and some French.

95 Achievements

  • Fetching Data Using Fetch Requests
  • Inserting and Saving Data Using a Context
  • Understanding the Core Data Stack
  • Adding Reviews and a Map
  • Retrieving Restaurant Details Using Operations
  • Simplifying Networking Code
  • Obtaining a Location Fix
  • Authorization with Third Party Libraries
  • Downloading Album Artwork
  • Requesting Real Data
  • Enhancing the iTunes Endpoint
  • URLs and Parameter Encoding
  • Building the User Interface
  • Modeling iTunes Search Results
  • Refactoring Using Codable
  • Dark Sky API Client
  • Downloading JSON Data Asynchronously
  • Fetching Data From the Web
  • Modeling Forecast Data
  • Error Handling and Memory Management
  • Building Standard Library Functions
  • Closure Expressions
  • First Class Functions
  • Generics and Protocols
  • Generic Types
  • Generic Functions, Parameters and Constraints
  • Writing Great Swift
  • Access Control
  • Memory Management in Swift
  • Extensions and Protocols
  • Value Semantics, Type Methods and Inheritance
  • Object Initialization
  • Properties
  • Using the Delegate Pattern in iOS
  • The Delegate Pattern
  • Decoupling the Data Source
  • Sorting Contacts Into Sections
  • Static Table Views for Detail Interfaces
  • Displaying Contact Data
  • A High Level Overview
  • Adding Sound Effects
  • Personalizing The Story
  • Refactoring Our Code
  • Creating the User Interface Programmatically
  • Creating a Story
  • Navigating Through An Adventure
  • Displaying Additional Views
  • Using the Vending Machine
  • Loading Data From a Resource
  • Modeling an Interface
  • Error Handling
  • Creating Flexible Objects Using Protocols
  • Protocol Basics
  • Objects and Optionals
  • Introduction to Optionals
  • Introduction to Enumerations
  • Differentiating Between Objects
  • Class Inheritance
  • Classes in Swift
  • Complex Data Structures
  • Adding Power to Functions
  • Functions in Swift
  • Control Flow With Conditional Statements
  • Control Flow With Loops
  • Dictionaries in Swift
  • Introduction to Collections
  • Responding to User Interaction
  • Swift Operators
  • Swift Types
  • An Introduction to Swift Programming
  • Making Changes to the DOM
  • Getting a Handle on the DOM
  • The Browser Environment
  • JavaScript Objects
  • JavaScript Arrays
  • Advanced Selectors
  • Going Further with Attribute Selectors and Pseudo-Classes
  • Selectors - Beyond the Basics
  • Building a Layout with Flexbox
  • Flexbox Properties
  • Understanding Flexbox
  • JavaScript Loops
  • Positioning Page Content
  • CSS Layout Project
  • Page Layout with the Float Property
  • Controlling Layout with CSS Display Modes
  • Getting Started with CSS Layout
  • JavaScript Functions
  • JavaScript Conditional Statements
  • JavaScript Numbers
  • JavaScript Variables
  • Introducing JavaScript
  • HTML First
  • Beginning HTML and CSS
  • Newbie