他の人が同様の質問をしましたが、回答が私には役に立たなかった。私はコアデータとテーブルビューを作成しようとしていますし、私は私のfetchRequestおよび/またはmanagedObjectContextがNSFetchedResultsControllerのインスタンスには、nill以外のfetchRequestとmanagedObjectContextが必要です。 '
nilをされているエラーメッセージが出続ける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)")
}
}
誰が、何が間違っている任意のアイデアを持っていますか?私は映画の中で呼ばれるエンティティを持っている
Request: (null), Context: <NSManagedObjectContext: 0x1701db4e0>
:また、それは重要、しかし、わからない場合は私のプロジェクトは
また、Objective-Cのとスウィフトの両方のミックス、私の上記のコードをプリントアウトからNSLog("Request: %@, Context: %@", fetchRequest, self.coreDataContext)
です3つのString属性を持つxcdatamodeld私はまた、独自のMovie.swiftファイルでこのような作品のためにクラスを作成しました:
import UIKit
import CoreData
class Movie: NSManagedObject {
}
Movieクラスについて特別なことはありますか? – matt
私は元の投稿の最後にMovieクラスに関する情報を追加しました。 – RobertSmith
さて、そこに行くよ。フェッチリクエストはありません。 – matt