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();
}