У меня есть приложение, которое я создаю с использованием Core Data.У меня начальная нагрузка всех Biking
структур, использующих Fetched Results Controller
.Затем я пытаюсь просто отправить запрос на проверку определенной Biking
структуры, используя запрос выборки, но получаю ошибку: Thread 1: EXC_BAD_ACCESS
в строке предиката.Мне просто нужен этот запрос, чтобы проверить, сохранена структура со специфическим ID
или нет.Я новичок во всем этом, так что прости мое невежество!Что я делаю не так?
private let appDelegate = UIApplication.shared.delegate as! AppDelegate
private let context = (UIApplication.shared.delegate as! AppDelegate).persistentContainer.viewContext
private var fetchedRC: NSFetchedResultsController<Biking>!
private func refresh() {
do {
let request = Biking.fetchRequest() as NSFetchRequest<Biking>
if query.isEmpty {
request.predicate = NSPredicate(format: "bikingOwner == %@", note)
let sort = NSSortDescriptor(key: #keyPath(Biking.buttonText), ascending: true)
request.sortDescriptors = [sort]
do {
fetchedRC = NSFetchedResultsController(fetchRequest: request, managedObjectContext: context, sectionNameKeyPath: nil, cacheName: nil)
fetchedRC.delegate = self
try fetchedRC.performFetch()
} catch let error as NSError {
print("Could not fetch. \(error), \(error.userInfo)")
}
}
}
}
var bikingQuery = [Biking]()
var query = "test"
let fetchRequest = Biking.fetchRequest() as NSFetchRequest<Biking>
// ERROR Below
fetchRequest.predicate = NSPredicate(format: "buttonID == %@", query)
do {
bikingQuery = try context.fetch(fetchRequest)
} catch {
fatalError("Failed to fetch: \(error)")
}
if bikingQuery.count >= 0 {
print("Found!")
}