私はCoreDataについて学んでいます。私はthis tutorialに行ってきましたが、私のUIViewController
の方法の一つでコンパイルの問題に遭遇しました。明白な間違いをしている場合を除き、それはチュートリアルのコードとまったく同じです。私はXcode 8.2.1を使用しています。NSManagedObjectContextでfetch()を正しく呼び出す方法は?
func getStores() {
guard let appDelegate = UIApplication.shared.delegate as? AppDelegate else { return }
let managedContext = appDelegate.persistentContainer.viewContext
let fetchRequest = NSFetchRequest<NSManagedObject>(entityName: "Store")
do {
// Compilation error on the next line:
// Cannot convert value of type 'NSFetchRequest<Store>' to expected argument type 'NSFetchRequest<NSFetchRequestResult>
stores = try managedContext.fetch(fetchRequest)
} catch {
// handle error
}
}
}
ソリューション:以前の私のVCで
私が間違っているCoreDataエンティティを使用してstores
配列を宣言しました。そのミスを修正して問題を解決しました。
stores'はタイプ '[お店]' 'で定義されている場合あなたはあなたのケースでは '[NSManagedObject]'型があると信じている 'fetch'の呼び出しとの不一致 - 実際のエラーメッセージは何ですか? – MathewS