Передача данных из Realm между Viewcontrollers - PullRequest
0 голосов
/ 25 июня 2018

Я сохранил данные из формы в своей базе данных области (то есть имя, возраст, адрес и т. Д.), И я хочу передать эти значения различным контроллерам представления по всему моему проекту.

В одном из моих контроллеров представления есть табличное представление, которое обращается к некоторым из этих данных из массива и заполняет ячейку. То, что я хотел бы сделать, - когда пользователь касается ячейки, данные из моей области передаются различным меткам и текстовым полям в подробном контроллере представления. Ранее я читал, что все, что мне нужно, это использовать prepareForSegue, но я не уверен в правильном способе доступа к значениям, чтобы они переходили к контроллеру destinationview. Я приложу фрагменты кода моих контроллеров представления, чтобы вы могли видеть, где я сейчас нахожусь.

override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
    let request = try! Realm().objects(RenterRequest.self).sorted(byKeyPath: "requestAddress")

    if segue.identifier == "HistoryData" {
        let renterMaintenanceHistory = segue.destination as? RenterMaintenanceHistory
        renterMaintenanceHistory?.renterHIstoryAddress.text = request.description
    }
}

import UIKit
import RealmSwift

class RenterMaintenanceHistory: UIViewController {

    var request = RenterRequest()

    @IBOutlet weak var RenterHistoryPriority: UITextField!
    @IBOutlet weak var renterHistoryType: UITextField!
    @IBOutlet weak var renterHIstoryAddress: UITextField!
    @IBOutlet weak var renterHistoryRoom: UITextField!
    @IBOutlet weak var renterHIstoryProblemDescription: UITextView!
    @IBOutlet weak var renterHistoryPreferredTimeAndDate: UITextField!
    @IBOutlet weak var renterHistoryPets: UISwitch!
    @IBOutlet weak var renterHistoryAuthorizedEntry: UISwitch!
    @IBOutlet weak var renterHIstoryPreferredContactNumber: UITextField!
    @IBOutlet weak var renterHistoryPreviouslyReported: UISwitch!

    var renterHistoryAddress: String?

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

    override func viewWillAppear(_ animated: Bool) {
        renterHIstoryAddress.text = renterHistoryAddress
    }
}

когда я запускаю код и пытаюсь получить доступ к свойству, я получаю неожиданно найденный ноль, разворачивая необязательное значение. Должен ли я получить доступ к функции realm.objects через модель для получения значений?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...