0Pricing
SwiftUI Academy · Lección

Llamar a APIs con URLSession

Obtenga datos mediante async/await.

Llamar a APIs con URLSession es una lección gratuita de SwiftUI Academy en CoddyKit. Esta es la lección 2 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de SwiftUI Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de SwiftUI Academy incluye 4 lecciones en total.

Partes de esta lección aún no han sido traducidas y se muestran en inglés.

What URLSession Does

URLSession is Apple framework for talking to the network. You give it a URL and it fetches the response for you. 🌐

Building a URL

Start with a valid URL. The initializer is optional because text can be malformed, so unwrap it before using.

let url = URL(string: "https://api.example.com/users")!

The async Fetch Call

The modern way to fetch is async/await. You await data from a URL and your code reads top to bottom, like normal.

let (data, response) = try await
    URLSession.shared.data(from: url)

You Get Data and Response

The call returns two things: the raw data bytes and a response describing status. You usually decode the data next.

Combining Fetch and Decode

Fetch then decode in two short steps. await the bytes, then hand them to JSONDecoder to get a typed value.

let (data, _) = try await URLSession.shared.data(from: url)
let users = try JSONDecoder().decode([User].self, from: data)

Async Functions

Wrap network work in an async function. Marking it async lets you use await inside and keeps the UI responsive.

func loadUsers() async throws -> [User] { }

Why throws Matters

Networking can fail, so fetch functions are throws. Callers must try, which forces you to think about errors.

Checking the Status Code

Cast the response and read its statusCode. A value of 200 means success, while 404 or 500 signal problems.

let http = response as? HTTPURLResponse
if http?.statusCode == 200 { }

Reusing the Shared Session

For most apps, URLSession.shared is all you need. It is a ready-made session with sensible default settings.

Custom Requests

For headers or POST bodies, build a URLRequest. Set the method and fields, then pass the request to the session.

var request = URLRequest(url: url)
request.httpMethod = "GET"

Keep Networking Off the UI

Always do fetching in an async context, never on the main thread directly, so taps and scrolling stay smooth.

Quick Check

Quick check on fetching data from a URL.

Recap: URLSession

You can now await data from a URL with URLSession, check the status code, and decode the bytes inside an async throwing function. 🚀

Preguntas frecuentes

¿La lección «Llamar a APIs con URLSession» es gratis?

Sí — el texto completo de «Llamar a APIs con URLSession» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de SwiftUI Academy, actualiza a CoddyKit PRO. El curso de SwiftUI Academy incluye 4 lecciones en total.

¿Qué aprenderé en «Llamar a APIs con URLSession»?

Obtenga datos mediante async/await. Practicas SwiftUI Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar SwiftUI Academy?

No se requiere experiencia previa. SwiftUI Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 2 de 4.

¿Cuánto tiempo toma la lección «Llamar a APIs con URLSession»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de SwiftUI Academy?

Sí. Cada lección de SwiftUI Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. Decodificar JSON con Codable
  2. Llamar a APIs con URLSession
  3. El modificador .task
  4. Estados de carga y error
← Volver a SwiftUI Academy