Моя задача - пользователь data
, добавляющий в массив items
метод strut
и назначающий tableView
tableData array
.В моем коде несколько мест я использовал tableData для некоторых validations
.
Теперь моя проблема в том, что я могу видеть данные своей таблицы, когда я перемещаю background
в foreground
, но если я удаляю приложение из background
затем снова Если я открою свой application
, есть empty
tableView.Итак, мне нужно понять.как tableData store
в UserDeafult
и затем retrieve
для загрузки tableView во избежание потери data
.
// Array declaration
var items = [Item]()
var tableData = [Item]()
public func documentPicker(_ controller: UIDocumentPickerViewController,didPickDocumentsAt urls: [URL]) {
// Here I am getting user selected file url and its name from iCloud.
// I skipped to paste here.
// User picked file data appending into items array
items.append(Item(url: bookurl, title: name))
// Assign items data to tableData
if let data = UserDefaults.standard.data(forKey:"items") {
do {
let itemsUser = try PropertyListDecoder().decode(Array<Item>.self, from: data)
tableData = itemsUser
} catch { print(error) }
}
}
// MARK - TABLE VIEW DELEGATIONS
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return self.tableData.count
}
// TableView data-load
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "cell", for: indexPath) as! CustomTableViewCell
let item = tableData[indexPath.row]
cell.name_label.text = item.name
}
return cell
}