Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- DispatchQueue.global(qos: .userInitiated).async {
- let realm = try! Realm()
- let cachedWords = CashedWords()
- cachedWords.words.removeAll()
- let predicate = NSPredicate(format: "enabled == 1")
- let results = realm.objects(Word.self).filter(predicate).distinct(by: ["title"])
- let azer = Locale(identifier: "az")
- let alphabeticallySortedResults = Array(results).sorted {
- $0.title.compare($1.title, locale: azer) == .orderedAscending
- }
- cachedWords.words.append(objectsIn: alphabeticallySortedResults)
- try! realm.write {
- realm.add(cachedWords)
- }
- let wordsRef = ThreadSafeReference(to: cachedWords)
- DispatchQueue.main.async {
- let realm = try! Realm()
- guard let wordsResult = realm.resolve(wordsRef) else {
- return // object was deleted
- }
- self.words = Array(wordsResult.words)
- self.reloadTableInMain()
- }
Add Comment
Please, Sign In to add comment