typestar

Las clases son referencias en Swift

Dos nombres, un objeto; === pregunta por identidad.

// Classes are reference types: two names, one object.
final class RaceCommittee {
    var flagsFlying: [String] = []
    func hoist(_ flag: String) {
        flagsFlying.append(flag)
    }
}

let committee = RaceCommittee()
let sameCommittee = committee

committee.hoist("P")
sameCommittee.hoist("AP")

// Both names see both flags -- there is only one committee.
print("Flags: \(committee.flagsFlying)")
print("Same object: \(committee === sameCommittee)")

Cómo funciona

  1. final class renuncia a la herencia que no necesita.
  2. Ambos nombres alcanzan la misma instancia — ambas banderas aparecen.
  3. === compara identidad donde == compararía valores.

Palabras clave y builtins usados aquí

El intento, en números

Líneas
17
Caracteres a escribir
438
Tokens
84
Ritmo de tres estrellas
65 tpm

Al ritmo de tres estrellas de 65 tokens por minuto, este intento toma unos 78 segundos.

Escribe este fragmento

Paso 2 de 3 en Structs y clases; paso 17 de 27 en Fundamentos del lenguaje.

← Anterior Siguiente →