When I call the function CacheStation I get the error: CoreData: error: Failed to call designated initializer on NSManagedObject class SaveModel. Nothing more nothing less. How
This line:
let sm = SaveModel();
uses the standard init()
method to create an instance of SaveModel
, but NSManagedObjects
must be initialised using the designated initialiser:
init(entity entity: NSEntityDescription, insertIntoManagedObjectContext context: NSManagedObjectContext?)
(or, as in your CacheStations method, using NSEntityDescription.insertNewObjectForEntityForName(_, inManagedObjectContext: moc)
which calls the designated initialiser).
Since it seems sm
is created only to have an instance on which to call CacheStations
, I would change that method to a class method:
class func CacheStations(){
and change your saveShizzle
method to use the class method:
@IBAction func saveShizzle(sender: AnyObject) {
SaveModel.CacheStations();
}