1
0
mirror of https://github.com/mastodon/mastodon-ios.git synced 2024-12-15 10:24:32 +01:00
mastodon-app-ufficiale-ipho.../MastodonSDK/Sources/CoreDataStack/Extension/Collection.swift
2023-02-06 11:39:40 +01:00

36 lines
1022 B
Swift

//
// Collection.swift
// CoreDataStack
//
// Created by Cirno MainasuK on 2020-10-14.
//
import Foundation
import CoreData
extension Collection where Iterator.Element: NSManagedObject {
public func fetchFaults() {
guard !self.isEmpty else { return }
guard let context = self.first?.managedObjectContext else {
fatalError("Managed object must have context")
}
let faults = self.filter { $0.isFault }
guard let object = faults.first else { return }
let request = NSFetchRequest<Iterator.Element>()
request.entity = object.entity
request.returnsObjectsAsFaults = false
request.predicate = NSPredicate(format: "self in %@", faults)
do {
let _ = try context.fetch(request)
} catch {
assertionFailure(error.localizedDescription)
}
}
}
extension Collection {
public subscript (safe index: Index) -> Element? {
return indices.contains(index) ? self[index] : nil
}
}