Creación de Structs en Swift para Gestión de Materias
Clase 16 de 25 • Curso de Swift para Apps iOS
Resumen
¿Cómo implementar clases en Swift?
La programación en Swift nos introduce a la creación de clases de manera eficiente, permitiendo la definición de tipos de datos personalizados. Dentro de Swift, podemos elegir entre Struct
y Class
para tal propósito. Vamos a explorar la implementación de clases usando Struct
primero, y posteriormente examinaremos Class
, entendiendo sus diferencias y usos particulares.
¿Cómo crear un nuevo proyecto en Xcode?
Iniciamos creando un nuevo proyecto en Xcode para mantener un entorno de trabajo limpio y organizado. Sigue estos pasos:
- Abre Xcode y crea un nuevo proyecto seleccionando el tipo “Emty”.
- Nombra el proyecto (por ejemplo, “System Student Students Manager”) y elige la ubicación donde lo guardarás.
- Cierra cualquier pestaña innecesaria para simplificar el entorno.
- Crea un nuevo archivo usando Plantillas y un Playground para su uso específico en clases.
- Asegúrate de guardar y gestionar el proyecto organizado en carpetas, como
sources
.
¿Cómo usar Struct para crear una clase?
Para crear una clase usando Struct
, define tus propiedades y funciones dentro de él. Aquí un ejemplo de cómo crear una clase Subject
para una materia:
public struct Subject {
var name: String
var teacherName: String
let minimumScore: Double
public init(name: String, teacherName: String, minimumScore: Double) {
self.name = name
self.teacherName = teacherName
self.minimumScore = minimumScore
}
public func isPassed(score: Double) -> Bool {
return score >= minimumScore
}
public func subjectDescription() -> String {
return """
----------------
Materia: \(name)
Profesor: \(teacherName)
Puntaje Mínimo: \(minimumScore)
"""
}
}
¿Cómo crear una instancia de Struct en Playground?
Después de definir el Struct
, vamos a instanciarlo en el Playground:
let mathSubject = Subject(name: "Math", teacherName: "Mr. Smith", minimumScore: 70)
// Llamando a las funciones de la estructura
let mathDescription = mathSubject.subjectDescription()
print(mathDescription)
¿Por qué se necesita un inicializador público en Swift?
Swift requiere inicializadores públicos para permitir el acceso a las propiedades de las estructuras desde distintos módulos o archivos en el proyecto. Esto es esencial cuando trabajas en un entorno compartido, como Playground y sources
, para un flujo sin interrupciones en el análisis y manipulación de datos.
¿Cómo crear funciones dentro de Structs?
Definir funciones dentro de tus structs mejora la modularidad y reutilización del código. La función isPassed
devuelve un booleano indicando si se aprobó la materia, y subjectDescription
proporciona una forma formateada de presentar información. Siempre define funciones públicas si la información debe ser accesible fuera del struct.
¿Cómo verificar errores y solucionar problemas en Xcode?
Xcode proporciona mensajes de error muy específicos que ayudan a detectar y rectificar problemas comunes, como:
- Visibilidad de estructuras: Asegúrate de declarar estructuras y funciones como
public
. - Errores de caché: A veces, Xcode puede mostrar errores de caché temporales que desaparecen al correr el código completo.
- Inicializadores: Declara inicializadores de manera explícita para asegurar que todos los parámetros necesarios están incluidos.
Así es cómo comenzamos a estructurar y trabajar con clases en Swift utilizando Struct
. A medida que avancemos, analizaremos también el uso de Class
y las diferencias principales entre ambos.