gpt4 book ai didi

ios - 使用Swift进行 Realm 保存的问题。我错了,我直接从Realm Browser 0说了“删除对象”

转载 作者:行者123 更新时间:2023-12-01 21:49:05 27 4
gpt4 key购买 nike

为了测试领域文件中没有任何类别会发生什么,我直接在领域浏览器中删除了“类别”的对象。现在,每当我从应用程序添加新项目时,它甚至都不会在Realm浏览器中注册。

import UIKit
import CoreData
import RealmSwift

class CategoryViewController: UITableViewController {
let realm = try! Realm()
var categories: Results<Category>?

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

// MARK: - Table View Datasource

override func numberOfSections(in tableView: UITableView) -> Int {
return 1
}

override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return categories?.count ?? 1
}

override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "CategoryCell", for : indexPath)
cell.textLabel?.text = categories?[indexPath.row].name ?? "No Categories Added Yet!"
return cell
}

// MARK: - Table View Delegate

override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
performSegue(withIdentifier: "goToItems", sender: self)
}

override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
let destinationVC = segue.destination as! ToDoListViewController
if let indexPath = tableView.indexPathForSelectedRow {
destinationVC.selectCategory = categories![indexPath.row]
}
}

// MARK: - Data Manipulation Methods

func save(category: Category) {
do {
try realm.write {
realm.add(categories!)
}
} catch {
print("There was an error saving context, \(error.localizedDescription)")
}

tableView.reloadData()
}

func loadCategory() {
categories = realm.objects(Category.self)
tableView.reloadData()
}

@IBAction func addButtonPressed(_ sender: UIBarButtonItem) {
var textField = UITextField()

let alert = UIAlertController(title: "Add New Category", message: "", preferredStyle: .alert)

let action = UIAlertAction(title: "Add", style: .default) { (action) in
let newCategory = Category()
newCategory.name = textField.text!
self.save(category: newCategory)
}

alert.addAction(action)
alert.addTextField { (field) in
textField = field
textField.placeholder = "Add A New Category"
}

present(alert, animated: true, completion: nil)
}
}

当我在类别中添加称为“购物”的内容时:

When I Am Adding Something Called "Shopping" To My Categories

单击添加按钮后:

After I Click The Add Button

我已经添加“购物”之后的领域浏览器:

My Realm Browser After I already Added "Shopping"

请记住,我之前也已将对象添加到领域文件中,因此即使它没有显示在领域文件中,“甚至没有分类”也不会出现...肯定有一些问题。我没有从调试控制台得到任何错误。

最佳答案

我认为您误将“类别”添加到领域中。在 save()函数中,只需将“类别”替换为“类别”。

关于ios - 使用Swift进行 Realm 保存的问题。我错了,我直接从Realm Browser 0说了“删除对象”,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61823955/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com