Fix for removing audio records

This commit is contained in:
Selim Mustafaev 2020-09-30 22:31:46 +03:00
parent c46d113832
commit e99a857083
4 changed files with 17 additions and 19 deletions

View File

@ -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] = []

View File

@ -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")

View File

@ -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

View File

@ -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