2016-07-17 9 views
0

Ich habe eine Realm-Datenbank, in der ich meine Einträge speichern. Speichern von & Abfrage von Arbeit ohne Probleme. Ich weiß in Swift Realm Ergebnisse sind faul, aber ich kann nicht verstehen, warum das passiert. Mein Code:Realm Daten auf UITextField gespeichert sind leer, Drucken (Eintrag) funktioniert

newsItems = databaseHelper.retriveAllNews() 
//[...] this is on tableView method 
let currentNew = newsItems[indexPath.row] 
print(currentNew) 
newsCell.newsTitle.text = currentNew.title 
newsCell.newsText.text = currentNew.info 

die print(..) Anweisung funktioniert perfekt und ich alle Informationen in dem Objekt currentNew gespeichert, aber wenn ich die Informationen in den newsCell.newsTitle UITextField gesetzt & newsCell.newsText sind sie leer angezeigt, da das Ergebnis nicht haben wurde schon geladen.
Irgendwelche Vorschläge?

+0

Können Sie bitte die Deklaration Ihrer Modellklasse teilen? – bdash

+0

@bdash danke! Haha, bemerkte jetzt, ich habe sie nicht mit dynamic wie gewünscht aktualisiert, das hat das Problem gelöst! –

Antwort

1

Die wahrscheinlichste Ursache für das Problem, das Sie sehen, besteht darin, den Modifikator dynamic aus den Eigenschaftsdeklarationen in Ihrer Modellklasse zu entfernen. Der Modifizierer dynamic ist erforderlich, um sicherzustellen, dass Realm eine Möglichkeit hat, den Zugriff auf die Eigenschaften abzufangen, wodurch Realm die Möglichkeit erhält, die Daten aus der Datei auf der Festplatte zu lesen/schreiben. Das Weglassen dieser Eigenschaften führt dazu, dass der Swift-Compiler direkt auf die Instanzvariablen zugreift und Realm aus der Schleife herausschneidet.

+0

Ich habe mich selbst mit der gleichen Lösung beantwortet! Danke übrigens. Aber ich kann immer noch nicht mit der print() -Anweisung arbeiten und die Zuordnung nicht! Sie finden jedoch die Lösung –

+1

Das 'print()' funktioniert, da das Erstellen einer Zeichenfolgendarstellung des Objekts eine interne Realm-Methode aufruft, die die Objekteigenschaften von Objective-C iteriert. Der Modifikator 'dynamic' ist nur relevant für Swift-Code, der auf die Eigenschaften zugreift. – bdash

+0

Vielen Dank! :) –