Fix for removing audio records
This commit is contained in:
parent
c46d113832
commit
e99a857083
@ -24,7 +24,7 @@ class AppDelegate: UIResponder, UIApplicationDelegate {
|
||||
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
|
||||
|
||||
let config = Realm.Configuration(
|
||||
schemaVersion: 17,
|
||||
schemaVersion: 18,
|
||||
migrationBlock: { migration, oldSchemaVersion in
|
||||
if oldSchemaVersion <= 3 {
|
||||
var numbers: [String] = []
|
||||
|
||||
@ -44,15 +44,6 @@ class RecordsController: UIViewController, UITableViewDelegate {
|
||||
return dataSourse.sectionModels[index].header
|
||||
}
|
||||
|
||||
self.tableView.rx
|
||||
.modelDeleted(AudioRecord.self)
|
||||
.subscribe(onNext: { record in
|
||||
try? realm.write {
|
||||
realm.delete(record)
|
||||
}
|
||||
})
|
||||
.disposed(by: self.bag)
|
||||
|
||||
DispatchQueue.main.async {
|
||||
Observable.collection(from: realm.objects(AudioRecord.self)
|
||||
.sorted(byKeyPath: "addedDate", ascending: false))
|
||||
@ -270,7 +261,15 @@ class RecordsController: UIViewController, UITableViewDelegate {
|
||||
action.image = UIImage(systemName: "ellipsis" /*"square.and.arrow.up"*/)
|
||||
|
||||
let delete = UIContextualAction(style: .destructive, title: "Delete") { action, view, completion in
|
||||
self.tableView.dataSource?.tableView!(self.tableView, commit: .delete, forRowAt: indexPath)
|
||||
do {
|
||||
if let realm = record.realm {
|
||||
try realm.write {
|
||||
realm.delete(record)
|
||||
}
|
||||
}
|
||||
} catch {
|
||||
print(error)
|
||||
}
|
||||
completion(true)
|
||||
}
|
||||
delete.image = UIImage(systemName: "trash")
|
||||
|
||||
@ -7,7 +7,7 @@ class AudioRecord: Object, IdentifiableType {
|
||||
@objc dynamic var path: String = ""
|
||||
@objc dynamic var number: String?
|
||||
@objc dynamic var rawText: String = ""
|
||||
@objc private dynamic var addedDate: TimeInterval = Date().timeIntervalSince1970
|
||||
@objc private dynamic var addedDate: TimeInterval = 0
|
||||
@objc dynamic var duration: TimeInterval = 0
|
||||
@objc dynamic var event: VehicleEvent?
|
||||
|
||||
@ -25,11 +25,14 @@ class AudioRecord: Object, IdentifiableType {
|
||||
self.duration = duration
|
||||
self.rawText = raw
|
||||
self.event = event
|
||||
self.addedDate = Date().timeIntervalSince1970
|
||||
}
|
||||
|
||||
required init() {
|
||||
super.init()
|
||||
self.identifier = self.addedDate
|
||||
}
|
||||
|
||||
override static func primaryKey() -> String? {
|
||||
return "path"
|
||||
}
|
||||
|
||||
override class func ignoredProperties() -> [String] {
|
||||
@ -39,6 +42,7 @@ class AudioRecord: Object, IdentifiableType {
|
||||
func getAddedDate() -> TimeInterval {
|
||||
if self.identifier == 0 {
|
||||
self.identifier = self.addedDate
|
||||
print("getAddedDate: \(self.identifier)")
|
||||
}
|
||||
|
||||
return self.addedDate
|
||||
|
||||
@ -87,8 +87,6 @@ class Vehicle: Object, Decodable, IdentifiableType {
|
||||
let ownershipPeriods = List<VehicleOwnershipPeriod>()
|
||||
let events = List<VehicleEvent>()
|
||||
|
||||
//var identity: String { number }
|
||||
|
||||
var identifier: String = ""
|
||||
var identity: String {
|
||||
if self.identifier.isEmpty {
|
||||
@ -150,18 +148,15 @@ class Vehicle: Object, Decodable, IdentifiableType {
|
||||
self.events.append(objectsIn: eventsArray)
|
||||
}
|
||||
|
||||
print("Init from decoder - \(self.number)")
|
||||
self.identifier = self.number
|
||||
}
|
||||
|
||||
required init() {
|
||||
super.init()
|
||||
print("Init - \(self.number)")
|
||||
self.identifier = self.number
|
||||
}
|
||||
|
||||
init(_ number: String) {
|
||||
print("Init with number - \(number)")
|
||||
self.identifier = number
|
||||
self.number = number
|
||||
self.addedDate = Date().timeIntervalSince1970*1000
|
||||
|
||||
Loading…
Reference in New Issue
Block a user