Мне интересно, может ли кто-нибудь показать мне, как сохранить данные в табличном представлении с основными данными?
У меня есть приложение, которое требуется для хранения большого количества пользовательского ввода в табличном представлении.Я использовал UserDefault, что я не должен.Я еще не импортировал данные ядра, потому что я не знаю, как использовать их для хранения данных из пользовательского ввода и извлечения данных из данных ядра, чтобы отобразить их в виде таблицы.
Я сохранил пользовательский ввод в массивчто logs
.
var logs = [String]()
var userData = false
@IBOutlet weak var TableLogs: UITableView!
@IBAction func save(_ sender: Any) {
let a = (StartKm.text! as NSString).intValue
let b = (StartKm.text! as NSString).floatValue
let sum = a * 2
let sumb = b * 2
overallTrip.text = "\(sum)"
overallTrip.text = "\(sumb)"
let encodedData = NSKeyedArchiver.archivedData(withRootObject: userData)
userData = true
UserDefaults.standard.set(encodedData, forKey: "userData")
if StartKm.text == "" {
StartKm.backgroundColor = UIColor.red
}else{
StartKm.backgroundColor = UIColor.white
logs.append(overallTrip.text!)
UserDefaults.standard.set(overallTrip.text, forKey: "overall")
UserDefaults.standard.synchronize()
}
let myAlert = UIAlertController(title:"FYI", message:"You have \(5000 - sumb)KM left", preferredStyle: UIAlertControllerStyle.alert)
internal func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = UITableViewCell(style: UITableViewCellStyle.default, reuseIdentifier: nil)
cell.textLabel?.text = logs[indexPath.row]
return cell
}
func tableView(_ tableView: UITableView, commit editingStyle: UITableViewCell.EditingStyle, forRowAt indexPath: IndexPath){
if editingStyle == UITableViewCellEditingStyle.delete {
logs.remove(at: indexPath.row)
UserDefaults.standard.set(logs, forKey: "overall")
}
TableLogs.reloadData()
}
func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
if(segue.identifier == "CarKmd") {
// var vc = segue.destination as! CarKm
let viewcontroller = storyboard?.instantiateViewController(withIdentifier: "CarKmd")
self.navigationController?.pushViewController(viewcontroller!, animated: true)
}
}
}