Indices pour un accès personnalisé
Définissez des indices personnalisés pour lire et écrire des éléments avec une syntaxe semblable à celle des tableaux, ajoutez des accesseurs sûrs, prenez en charge l’indexation à plusieurs paramètres et utilisez même des indices de type (static).
Indices pour un accès personnalisé est une leçon Swift Academy gratuite sur CoddyKit. Ceci est la leçon 4 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Swift Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Swift Academy comprend 4 leçons au total.
Vue d’ensemble
Utilisez les indices pour accéder aux données avec une syntaxe entre crochets. Vous pouvez les rendre accessibles en lecture seule ou en lecture et écriture, et même accepter plusieurs indices.
Indice en lecture et écriture
Créez un indice avec des accesseurs de lecture et d’écriture pour exposer un stockage interne avec une syntaxe similaire à celle des tableaux.
struct Box {
private var items: [String] = []
init(_ values: [String]) { self.items = values }
subscript(index: Int) -> String {
get { items[index] } // may trap if out of bounds (like Array)
set { items[index] = newValue }
}
}
var b = Box(["a","b","c"])
print(b[1]) // "b"
b[1] = "B"
print(b[1]) // "B"Indice sécurisé
Renvoyez une valeur facultative pour éviter les erreurs liées aux indices non valides : vous obtenez ainsi un indice sécurisé et convivial.
extension Array {
subscript(safe i: Int) -> Element? {
return indices.contains(i) ? self[i] : nil
}
}
let arr = [10,20]
print(arr[safe: 1] ?? -1) // 20
print(arr[safe: 5] ?? -1) // -1Plusieurs paramètres
Les indices peuvent accepter plusieurs paramètres, ce qui est pratique pour les matrices ou l’accès par coordonnées.
struct Matrix {
let rows: Int, cols: Int
private var grid: [Int]
init(rows: Int, cols: Int, fill: Int = 0) {
self.rows = rows; self.cols = cols
self.grid = Array(repeating: fill, count: rows*cols)
}
private func index(_ r: Int, _ c: Int) -> Int { r*cols + c }
subscript(r: Int, c: Int) -> Int {
get { grid[index(r,c)] }
set { grid[index(r,c)] = newValue }
}
}
var m = Matrix(rows: 2, cols: 3)
m[0, 2] = 7
print(m[0, 2])Indice de type
Ajoutez un indice de type avec static pour indexer le type lui-même plutôt qu’une instance.
struct Roman {
static let map: [Int:String] = [1:"I", 5:"V", 10:"X"]
static subscript(_ n: Int) -> String? {
return map[n]
}
}
print(Roman[5] ?? "?") // "V"Conseils
Conseils :
- Privilégiez le renvoi de valeurs facultatives pour un accès sécurisé.
- Gardez les indices simples ; les traitements coûteux doivent être placés dans des méthodes.
- Nommez les paramètres pour plus de clarté, par exemple
[row:col:].
Signification des indices
Vérification rapide : que permettent les indices ?
Récapitulatif
Récapitulatif : créez des indices en lecture et écriture, ajoutez des accesseurs facultatifs sécurisés, prenez en charge l’indexation avec plusieurs paramètres et définissez même des indices de type.
Questions Fréquemment Posées
La leçon « Indices pour un accès personnalisé » est-elle gratuite ?
Oui — le texte complet de « Indices pour un accès personnalisé » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Swift Academy, passe à CoddyKit PRO. Le cours Swift Academy comprend 4 leçons au total.
Qu'est-ce que j'apprendrai dans « Indices pour un accès personnalisé » ?
Définissez des indices personnalisés pour lire et écrire des éléments avec une syntaxe semblable à celle des tableaux, ajoutez des accesseurs sûrs, prenez en charge l’indexation à plusieurs paramètre… Tu pratiques Swift Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.
Dois-je avoir de l'expérience pour commencer Swift Academy ?
Aucune expérience préalable n'est requise. Swift Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 4 sur 4.
Combien de temps prend la leçon « Indices pour un accès personnalisé » ?
La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.
Peux-tu écrire et exécuter du code dans cette leçon Swift Academy ?
Oui. Chaque leçon Swift Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.
Toutes les leçons de ce cours
- Propriétés et indices
- lazy et observateurs de propriétés
- Propriétés calculées avec get/set
- Indices pour un accès personnalisé