Was ist Realm und wozu wird es benötigt?
\n\nRealm ist eine mobile Datenbank, die als Alternative zu Core Data und SQLite entwickelt wurde. Im Gegensatz zu traditionellen relationalen Datenbanken fungiert Realm als objektorientierter Speicher: Sie arbeiten mit nativen Swift-Objekten, nicht mit SQL-Abfragen oder NSManagedObject. Realm speichert Daten in einem eigenen Format, was eine Arbeitsgeschwindigkeit nahe der Arbeitsspeichergeschwindigkeit ermöglicht.
\n\nDie wichtigsten Vorteile von Realm:
\n- \n
- Geschwindigkeit: Realm ist auf mobilen Geräten 10-100 Mal schneller als SQLite. \n
- Einfachheit: Sie arbeiten mit gewöhnlichen Swift-Objekten, die Sie von Realm.Object ableiten. \n
- Automatische Aktualisierung: Abfrageergebnisse (Results) werden bei Datenänderungen automatisch aktualisiert. \n
- Live-Objekte: Realm-Objekte werden automatisch mit der Datenbank synchronisiert. \n
- Plattformübergreifend: Realm funktioniert auf iOS, macOS, tvOS und watchOS. \n
Realm ist ideal für Anwendungen, die schnellen Zugriff auf Daten auf dem Gerät erfordern: To-do-Listen, Messenger, Netzwerk-Caching, Notizen-Apps und viele andere.
\n\nInstallation von Realm in Swift
\n\nRealm für Swift wird über den Swift Package Manager (SPM), CocoaPods oder Carthage installiert. Wir betrachten die beiden gängigsten Methoden.
\n\nInstallation über den Swift Package Manager (empfohlen)
\n- \n
- Öffnen Sie in Xcode Ihr Projekt:
File → Add Packages...\n - Fügen Sie die URL ein:
https://github.com/realm/realm-swift.git\n - Wählen Sie die Version (empfohlen wird die neueste stabile Version) und klicken Sie auf
Add Package. \n - Wählen Sie im erscheinenden Fenster das Paket
RealmundRealmSwiftfür Ihr Ziel-Build aus. \n
Installation über CocoaPods
\nFügen Sie in die Podfile ein:
\ntarget 'YourApp' do\n use_frameworks!\n pod 'RealmSwift'\nend\nFühren Sie dann im Terminal aus:
\npod install\n\nImport im Code
\nimport RealmSwift\n\nSchnellstart: Erstes Modell und Datenschreiben
\n\nErstellen wir ein einfaches Aufgabenmodell und speichern es in der Datenbank.
\n\nimport RealmSwift\n\n// 1. Modell definieren\nclass Task: Object {\n @Persisted var id: String = UUID().uuidString\n @Persisted var title: String = ""\n @Persisted var isCompleted: Bool = false\n @Persisted var createdAt: Date = Date()\n \n // Primärschlüssel (optional, aber empfohlen)\n override static func primaryKey() -> String? {\n return "id"\n }\n}\n\n// 2. Objekt speichern\nlet task = Task()\ntask.title = "Lebensmittel kaufen"\ntask.isCompleted = false\n\nlet realm = try! Realm()\ntry! realm.write {\n realm.add(task)\n}\n\n// 3. Alle Aufgaben lesen\nlet tasks = realm.objects(Task.self)\nfor task in tasks {\n print("\\(task.title) - \\(task.isCompleted ? "Erledigt" : "Nicht erledigt")")\n}\n\nGrundlegende Methoden und Funktionen von Realm
\n\nNachfolgend sind die wichtigsten Methoden für die Arbeit mit Realm aufgeführt. Jede Methode wird mit einer Beschreibung, Parametern und einem funktionierenden Beispiel erläutert.
\n\n1. Realm() — Datenbank initialisieren
\nWas es tut: Erstellt oder öffnet eine bestehende Realm-Datenbank. Standardmäßig befindet sich die Datenbankdatei im Documents-Verzeichnis der App.
\nParameter: configuration: Realm.Configuration? — optionale Konfiguration (Datei-URL, Schema, Migrationsversion).
// Standardinitialisierung\nlet realm = try! Realm()\n\n// Initialisierung mit benutzerdefinierter URL\nlet config = Realm.Configuration(fileURL: FileManager.default\n .urls(for: .documentDirectory, in: .userDomainMask)\n .first?.appendingPathComponent("myrealm.realm"))\nlet customRealm = try! Realm(configuration: config)\n\n2. realm.wr
Auch in der Bibliothek
AVFoundation für Swift: Das komplette Tutorial mit Beispielen
Gin für Go: Vollständiger Leitfaden mit Beispielen
HTML-Parsing in C++: Überblick über Bibliotheken und Codebeispiele
OAuth-Client für PHP: Integration mit Google, GitHub und VK