TextField не будет загружаться из RealmSwift - PullRequest
0 голосов
/ 13 ноября 2018

Итак, вот проблема, от которой я сходил с ума.У меня есть приложение, которое использует Realm в качестве своей базы данных.Я использовал Realm в прошлом с таблицами, и он работает правильно.Кажется, я не могу получить данные textField, которые я сохранил, чтобы загрузить их в представление на viewDidLoad.С tableViews есть метод reloadData, но это не так с textFields.Мне нужны данные из моей базы данных для загрузки в представление viewDidLoad, и я несколько раз подтверждал, что данные сохранены и находятся в базе данных, просто ожидая загрузки в представление, но не загружаются.

import Cocoa
import RealmSwift

class PublisherViewController: NSViewController {

    @IBOutlet weak var publisherName: NSTextField!    

    let realm = try! Realm()
    var pubData : Results<Pub>?

    override func viewDidLoad() {
        super.viewDidLoad()

        // Here is where textField.stringValues should load into the viewDidLoad
        let theData = Pub()
        theData.pubName = publisherName.stringValue
        print("print \(theData)")
    }

    func save(pubData: Pub) {
        do {
            try realm.write {
                realm.add(pubData)
            }
        } catch {
            print("there was an error saving pubData \(error)")
        }
    }

    @IBAction func savePublisher(_ sender: NSButton) {
        let publisherData = Pub()
        publisherData.pubName = publisherName.stringValue
        save(pubData: publisherData)
    }
}

Вот моя модель данных

import Foundation
import RealmSwift

class Pub: Object {
    @objc dynamic var pubName : String = """
}

1 Ответ

0 голосов
/ 15 ноября 2018

Благодаря Mrkrisher на Discord, вот ответ о том, как отобразить последние сохраненные текстовые представления и текстовые поля из области в ваш viewDidLoad

override func viewDidLoad() {
        super.viewDidLoad()
    publisherName.stringValue = (pubData?.last?.pubName)?? ""
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...