Fixed crash on updating search

This commit is contained in:
Selim Mustafaev 2021-04-13 19:06:09 +03:00
parent ed0e2a444b
commit c5a84bb759
2 changed files with 20 additions and 14 deletions

View File

@ -33,8 +33,8 @@
"repositoryURL": "https://github.com/onevcat/Kingfisher",
"state": {
"branch": null,
"revision": "2a6d1135af3915547c4b08c3b154a05e6f1075a3",
"version": "5.15.5"
"revision": "2a10bf41da75599a9f8e872dbd44fe0155a2e00c",
"version": "5.15.8"
}
},
{
@ -51,8 +51,8 @@
"repositoryURL": "https://github.com/realm/realm-cocoa",
"state": {
"branch": null,
"revision": "2dc2d259095051b997b76a07e859822661105303",
"version": "5.4.7"
"revision": "7ec5df0a700ef76ad930dcedb9c63c1b354979e1",
"version": "5.5.1"
}
},
{
@ -60,8 +60,8 @@
"repositoryURL": "https://github.com/realm/realm-core",
"state": {
"branch": null,
"revision": "2df510904ad04287926b287b4e89b786de2808c8",
"version": "6.1.3"
"revision": "66d79b3c5213fb14d491c1b22193077b488d49a6",
"version": "6.2.4"
}
},
{
@ -78,8 +78,8 @@
"repositoryURL": "https://github.com/ReactiveX/RxSwift.git",
"state": {
"branch": null,
"revision": "002d325b0bdee94e7882e1114af5ff4fe1e96afa",
"version": "5.1.1"
"revision": "254617dd7fae0c45319ba5fbea435bf4d0e15b5d",
"version": "5.1.2"
}
},
{
@ -87,8 +87,8 @@
"repositoryURL": "https://github.com/malcommac/SwiftDate.git",
"state": {
"branch": null,
"revision": "a25913b19833860b61fac161a706e44834f03c47",
"version": "6.2.0"
"revision": "6190d0cefff3013e77ed567e6b074f324e5c5bf5",
"version": "6.3.1"
}
}
]

View File

@ -158,15 +158,21 @@ class SearchController: UIViewController, UISearchResultsUpdating, UITableViewDe
HUD.show(.progress)
Api.checkVehicle(by: vehicle.getNumber(), force: true).observeOn(MainScheduler.instance).subscribe { newVehicle in
HUD.hide()
if let realm = try? Realm() {
do {
let realm = try Realm()
if realm.object(ofType: Vehicle.self, forPrimaryKey: vehicle.getNumber()) != nil {
try? realm.write {
try realm.write {
realm.add(newVehicle, update: .all)
}
}
} catch {
print(error)
self.show(error: error)
}
self.datasource.set(item: newVehicle, at: indexPath)
self.updateDetailController(with: newVehicle)
let frozenVehicle = newVehicle.freeze()
self.datasource.set(item: frozenVehicle, at: indexPath)
self.updateDetailController(with: frozenVehicle)
} onError: { err in
HUD.show(error: err)
}.disposed(by: self.bag)