Swift kullanıcısıyım ve Çekirdek Verileri nasıl kullanacağımı öğrenmeye çalışıyorum. Ama bu hatayı alıyorum ve yanlış yaptığım şeyden emin değilim. İnternette araştırdım ve birkaç şey denedim ama doğru anlayamıyorum.Çözümleme 'NSManagedObject sınıfında atanan başlatıcı çağırılamadı'
Failed to call designated initializer on NSManagedObject class 'FirstCoreData.Course'
bu hat yürütüldüğünde: Bu işlevde
ncvc.currentCourse = newCourse
: Ders varlık için "... NSManagedObject alt sınıf oluşturma" tarafından üretilen
class TableViewController: UITableViewController, AddCourseViewControllerDelegate {
var managedObjectContext = NSManagedObjectContext.init(concurrencyType: NSManagedObjectContextConcurrencyType.MainQueueConcurrencyType)
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
if segue.identifier == "addCourse" {
let ncvc = segue.destinationViewController as! NewCourseViewController
ncvc.delegate = self
let newCourse = NSEntityDescription.insertNewObjectForEntityForName("Course", inManagedObjectContext: self.managedObjectContext) as! Course
ncvc.currentCourse = newCourse
}
}
Sınıf:
import Foundation
import CoreData
class Course: NSManagedObject {
// Insert code here to add functionality to your managed object subclass
}
Ve:
import Foundation
import CoreData
extension Course {
@NSManaged var title: String?
@NSManaged var author: String?
@NSManaged var releaseDate: NSDate?
}
Teşekkürler @pdasdf benim için iyi çalışıyor. – Chetan
Doğru tavsiye! Harika. –