Как отобразить в лейбле имя из базы данных Realm

realm

#1

Подскажите пожалуйста, как решить проблемку. Есть два ViewControllera, на первом textField, куда ввожу имя и кнопка.
При нажатии на кнопку имя сохраняется в базу данных Realm и одновременно открывается второй ViewController.
На втором View в лейбле должно отобразится имя из базы. Сохранить в базу данных получается, а вот отобразить в лейбле нет.

Код для первого View:
import UIKit
import RealmSwift

class ViewController: UIViewController {

let realm = try! Realm()

@IBOutlet weak var textFieldd: UITextField!

override func viewDidLoad() {
    super.viewDidLoad()

}

@IBAction func button(_ sender: UIButton) {
    
    let obrazecc = Obrazec()
    obrazecc.name = textFieldd.text!
    
    try! realm.write {
    realm.add(obrazecc)
    }
}

}

Код для второго View:
import UIKit
import RealmSwift

class ViewControllerrrr: UIViewController {

@IBOutlet weak var textLabel: UILabel!

override func viewDidLoad() {
    super.viewDidLoad()
    
    
}

}


#2

realm.objects(Obrazec. self ).last


#3

А можно полный код для второго view, все равно не получается.


#4

попробуйте в viewDidLoad

let obj = realm.objects(Obrazec. self ).last
textLabel.text = obj.name


#5

Выдает ошибку


#6

Вы забыли let realm = try! Realm()


#7

Судя по всему первый VC так же не писался самим автором, если такие глупые ошибки.
И лучше всего для базы сделать синглтон.


#8

Я только изучаю swift, прошел основы, а дальше решил изучать на реальном проекте. Пробелы в знания устраняю поиском информации и просмотром курсов, но не на все вопросы нахожу ответы.


#9

Реалм не такой сложный, как может показаться на первый взгляд.
У вас в первом VC сделана инициализация базы, но во втором VC вы почему-то это не сделали. Странная логика. Это первое.
Второе, не стоит просто копировать код, который вам дают и после этого писать что выдает ошибку. За частую код может даваться абстрактный, для общего понимания или если человек, который его дает, не помнит всего синтаксиса.
Третье, в документации реалма прям в самом начале показано как с ним работать: сохранять, доставать, изменять, удалять. Даже на русском языке это все есть. Стоило бы просто посмотреть на примеры в документпции.


#10

Спасибо за ответы! Все получилось. Перед тем как писать сюда, я читал и документацию и видео просматривал, и экспериментировал, но ответа не нашел.


#11

Ответ на что именно? Как достать из реалма данные? Как отобразить полученные данные в лейбле?


#12

Да. Когда делал в одном view, то все получалось, но при добавлении второго, не мог сообразить, как получить данные из базы, чтобы присвоить лейблу.