D'autres personnes ont posé une question similaire, mais les réponses données ne m'ont pas aidé. Je suis en train de créer une vue de la table avec les données de base et je reçois un message d'erreur que mon fetchRequest et/ou managedObjectContext sont nulsUne instance de NSFetchedResultsController nécessite un fetchRequest non nul et managedObjectContext '
class CustomTableViewController: UITableViewController,
NSFetchedResultsControllerDelegate {
var coreDataContext = (UIApplication.shared.delegate as! AppDelegate).persistentContainer.viewContext
@available(iOS 10.0, *)
fileprivate lazy var fetchedResultsController: NSFetchedResultsController<Movie> = {
// Initiate the query
let fetchRequest: NSFetchRequest<Movie> = Movie.fetchRequest() as! NSFetchRequest<Movie>
// Sort the data
fetchRequest.sortDescriptors = [NSSortDescriptor(key:"title", ascending: true)]
NSLog("Request: %@, Context: %@", fetchRequest, self.coreDataContext);
let fetchedResultsController = NSFetchedResultsController(fetchRequest: fetchRequest, managedObjectContext: self.coreDataContext, sectionNameKeyPath: nil, cacheName: nil)
fetchedResultsController.delegate = self
return fetchedResultsController
}()
override func viewDidLoad() {
super.viewDidLoad()
navigationController?.setToolbarHidden(false, animated: false)
do {
// when view loads, run the fetch (query)
if #available(iOS 10.0, *) {
try self.fetchedResultsController.performFetch()
} else {
// Fallback on earlier versions
}
} catch {
let fetchError = error as NSError
print("Unable to Perform Fetch Request")
print("\(fetchError)")
}
}
Est-ce que quelqu'un a des idées ce qui ne va pas? De plus, pas sûr que ça compte, mais mon projet est un mélange des deux Objective-C et Swift
En outre, le NSLog("Request: %@, Context: %@", fetchRequest, self.coreDataContext)
de mes impressions de code ci-dessus sur:
Request: (null), Context: <NSManagedObjectContext: 0x1701db4e0>
J'ai une entité appelée Film en mon xcdatamodeld avec trois attributs String. J'ai aussi créé une classe pour le film comme celui-ci dans son propre fichier Movie.swift:
import UIKit
import CoreData
class Movie: NSManagedObject {
}
Y a-t-il quelque chose de spécial à propos de votre cours de cinéma? – matt
Je viens d'ajouter des informations sur mon cours de cinéma à la fin de mon message original. – RobertSmith
Eh bien, vous y allez. Vous n'avez aucune demande d'extraction. – matt