我正在尝试使用索引路径删除领域对象,错误为“RLMException”,原因:“只能从它所属的领域中删除一个对象。”
声明MainModelClass和realm数组
var arrSavedData = [MainModelClass]()
var realm : Realm?
override func viewDidLoad() {
super.viewDidLoad()
self.getDatafromrealm()
realm = try! Realm()
}
为从领域数据库获取数据而编写的函数`
func getDatafromrealm() {
realm?.beginWrite()
let data = realm?.objects(MainModelClass.self)
let jsonData = try! JSONEncoder().encode(data)
let decoder = JSONDecoder()
do{
let result = try decoder.decode([MainModelClass].self, from: jsonData)
for i in 0..<result.count {
arrSavedData.append(result[i])
}
self.tblSaveData.reloadData()
}
catch let error as NSError{
// error.description
print(error.description)
}
try! realm?.commitWrite()
}
3.tableview方法使用indexpath删除realm对象
func tableView(_ tableView: UITableView, commit editingStyle:
UITableViewCell.EditingStyle, forRowAt indexPath: IndexPath) {
if editingStyle == .delete {
realm?.beginWrite()
realm?.delete(arrSavedData[indexPath.row])
try! realm?.commitWrite()
self.tblSaveData.reloadData()
}
}
4.最后一个我的 MainModelClass
class MainModelClass : Object,Codable {
@objc dynamic var title:String?
@objc dynamic var link: String?
@objc dynamic var author: String?
@objc dynamic var thumbnail: String?
@objc dynamic var itemDescription: String?
@objc dynamic var content:String?
@objc dynamic var pubDate:String?
}