Menu
Coddy logo textTech

Die Contains-Methode

Teil des Abschnitts Grundlagen der Swift-Journey von Coddy. Lektion 76 von 86.

Beim Arbeiten mit Arrays musst du häufig überprüfen, ob ein bestimmter Wert vorhanden ist, bevor du eine Aktion ausführst. Swift stellt dafür genau die Methode contains() bereit. Sie gibt true zurück, wenn das Element gefunden wird, und andernfalls false.

let fruits = ["apple", "banana", "orange"]

if fruits.contains("banana") {
    print("We have bananas!")
}
// Wir haben Bananen!

Das ist viel sauberer, als eine Schleife zu schreiben, um das Array manuell zu durchsuchen. Die Methode funktioniert mit jedem Array-Typ, unabhängig davon, ob es Zeichenketten, Zahlen oder andere Werte enthält:

let numbers = [10, 20, 30, 40, 50]

print(numbers.contains(30))  // true
print(numbers.contains(99))  // false

Ein häufiger Anwendungsfall ist die Validierung von Benutzereingaben anhand einer Liste zulässiger Werte:

let validOptions = ["yes", "no", "maybe"]
let userInput = "yes"

if validOptions.contains(userInput) {
    print("Valid choice")
} else {
    print("Invalid choice")
}
// Gültige Wahl

Die Methode contains() funktioniert auch mit Zeichenketten, um zu prüfen, ob eine Teilzeichenkette in einer größeren Zeichenkette vorhanden ist:

let message = "Hello, Swift!"
print(message.contains("Swift"))  // true
challenge icon

Aufgabe

Einfach

Du erhältst zwei Eingabezeilen:

  1. Eine durch Kommas getrennte Liste erlaubter Benutzernamen (z. B. admin,user,guest,moderator)
  2. Einen zu überprüfenden Benutzernamen

Überprüfe, ob der Benutzername in der Liste der erlaubten Benutzernamen vorhanden ist. Falls ja, gib Access granted aus. Falls nicht, gib Access denied aus.

Schritte:

  1. Lies die durch Kommas getrennte Liste ein und teile sie in ein Array von Zeichenfolgen auf
  2. Lies den zu überprüfenden Benutzernamen ein
  3. Verwende die Methode contains(), um festzustellen, ob sich der Benutzername in der Liste der erlaubten Benutzernamen befindet
  4. Gib abhängig vom Ergebnis die entsprechende Nachricht aus

Hinweis: Verwende components(separatedBy:), um eine Zeichenfolge in ein Array aufzuteilen. Zum Beispiel:

let text = "a,b,c"
let parts = text.components(separatedBy: ",")

Probier es selbst

// Lies die kommagetrennte Liste der erlaubten Benutzernamen
let allowedList = readLine()!

// Lies den zu prüfenden Benutzernamen
let username = readLine()!

// TODO: Schreibe deinen Code darunter
// 1. Teile die allowedList mit components(separatedBy:) in ein Array auf
// 2. Verwende contains(), um zu prüfen, ob username im Array ist
// 3. Print "Access granted" or "Access denied" based on the result
quiz iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

Alle Lektionen in Grundlagen

Übe selbstständig: Swift-Playground