0Pricing
Swift Academy · Lezione

Proprietà e subscript

Utilizzi proprietà memorizzate lazy, proprietà calcolate get/set, observer delle proprietà e subscript per creare indicizzazioni personalizzate.

Proprietà e subscript è una lezione Swift Academy gratuita su CoddyKit. Questa è la lezione 1 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Swift Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Swift Academy include 4 lezioni in totale.

Introduzione

Questa lezione tratta le proprietà avanzate: lazy, proprietà calcolate con get/set, osservatori e subscripts personalizzati.

Proprietà lazy

Le proprietà lazy vengono create solo al primo accesso. Sono utili per le operazioni costose.

struct DataLoader {
    lazy var data: [Int] = {
        print("Loading...")
        return [1,2,3]
    }()
}
var loader = DataLoader()
print("before access")
print(loader.data)

Get/set calcolati

Le proprietà calcolate utilizzano blocchi get/set per calcolare o aggiornare i valori.

struct Circle {
    var radius: Double
    var diameter: Double {
        get { return radius * 2 }
        set { radius = newValue / 2 }
    }
}
var c = Circle(radius: 5)
print(c.diameter)  // 10
c.diameter = 20
print(c.radius)    // 10

Osservatori

Utilizzi willSet e didSet per reagire alle modifiche delle proprietà.

class Account {
    var balance: Double = 0 {
        willSet { print("Will set to", newValue) }
        didSet  { print("Did set from", oldValue) }
    }
}
var a = Account()
a.balance = 50

Subscript

Gli subscripts consentono di definire un accesso personalizzato con la sintassi tra parentesi quadre.

struct TimesTable {
    let multiplier: Int
    subscript(i: Int) -> Int {
        return multiplier * i
    }
}
let three = TimesTable(multiplier: 3)
print(three[4])   // 12

Subscript con più parametri

Gli subscripts possono accettare più parametri, ad esempio una matrice con indici di riga e colonna.

struct Matrix {
    var grid: [[Int]]
    subscript(row: Int, col: Int) -> Int {
        return grid[row][col]
    }
}
let m = Matrix(grid:[[1,2],[3,4]])
print(m[1,0])   // 3

Domanda su lazy

Verifica rapida: cosa fa la parola chiave lazy?

Riepilogo

Riepilogo: utilizzi lazy per un'inizializzazione differita, get/set per le proprietà calcolate, willSet/didSet per osservare le modifiche e subscripts per un accesso personalizzato.

Domande Frequenti

La lezione «Proprietà e subscript» è gratuita?

Sì — il testo completo di «Proprietà e subscript» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Swift Academy, passa a CoddyKit PRO. Il corso Swift Academy include 4 lezioni in totale.

Cosa imparerò in «Proprietà e subscript»?

Utilizzi proprietà memorizzate lazy, proprietà calcolate get/set, observer delle proprietà e subscript per creare indicizzazioni personalizzate. Eserciti Swift Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.

Ho bisogno di esperienza per iniziare Swift Academy?

Non è richiesta alcuna esperienza precedente. Swift Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 1 di 4.

Quanto tempo richiede la lezione «Proprietà e subscript»?

La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.

Posso scrivere ed eseguire codice in questa lezione Swift Academy?

Sì. Ogni lezione Swift Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.

Tutte le lezioni di questo corso

  1. Proprietà e subscript
  2. lazy e observer delle proprietà
  3. Proprietà calcolate con get/set
  4. Subscript per indicizzazioni personalizzate
← Torna a Swift Academy