Swift, как частично сохранить данные при изменении в подполе - PullRequest
0 голосов
/ 23 февраля 2019

Как я могу сохранить Storage после немедленного изменения StorageUser в StorageUserViewController (нажав кнопку «Сохранить» на этой странице)?

Если вы считаете, что поток / структура неправильные, поделитесь хорошей практикой, если таковая имеется.

Storage.swift:

class Storage: NSObject, NSCoding {
    var storageUsers: [StorageUser]?
    ...
}

StorageTableViewController.swift:

class StorageTableViewController: UITableViewController {
    private func loadStorages() -> [Storage]?  {
        return NSKeyedUnarchiver.unarchiveObject(withFile: Storage.ArchiveURL.path) as? [Storage]
    }
    private func saveStorages() {
        NSKeyedArchiver.archiveRootObject(storages, toFile: Storage.ArchiveURL.path)
    }
    ...
}

При нажатии 1 Storage в StorageTableViewController будет отображаться StorageUserTableViewController.

StorageUserTableViewController:

class StorageUserTableViewController: UITableViewController {
    var storageUsers = [StorageUser]()
    ...
}

Если щелкнуть 1 StorageUser в StorageUserTableViewController, отобразится редактирование StorageUserViewController.

StorageUserViewController:

class StorageUserViewController: UIViewController {
    var storageUser: StorageUser?
    ...
}
...