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