2016-04-15 12 views
0

Ich habe eine App erstellt und entschieden, CoreData zu verwenden, also musste ich sie nachträglich hinzufügen, anstatt die Option CoreData verwenden beim ersten Erstellen des Projekts zu aktivieren.Verwendung des nicht deklarierten Typs 'CoreDataManager'

Ich glaube, ich habe alles nach dem Versuch, mehrere Tutorials zu folgen, aber nicht in der Lage, einen Fehler zu debuggen, den ich bekomme.

Ich habe einen UiTableViewController, der eine FetchRequest verwendet, um seine Tabellenansicht aufzufüllen. Der Code für die Ansicht hat ...

import UIKit 
import CoreData 

class MileageLogsTableViewController: UITableViewController { 

    @IBOutlet var milageLogTableView: UITableView! 

    var coreDataManager: CoreDataManager = CoreDataManager() 

    override func viewDidLoad() { 
     super.viewDidLoad() 

     do { 
      try fetchedResultsController.performFetch() 
     } catch { 
      let fetchError = error as NSError 
      print("Unable to Save MileageLog") 
      print("\(fetchError), \(fetchError.localizedDescription)") 
     } 
    } 
} 

Der Fehler gegen die Linie

var coreDataManager: CoreDataManager = CoreDataManager() 

Der Fehler ich erscheint, ist Verwendung von nicht deklarierten Typ ‚CoreDataManager

Die var verwendet spät die gleiche Klasse

private lazy var fetchedResultsController: NSFetchedResultsController = { 
    // Initialize Fetch Request 
    let fetchRequest = NSFetchRequest(entityName: "MileageLog") 

    // Add Sort Descriptors 
    let sortDescriptor = NSSortDescriptor(key: "tripDate", ascending: true) 
    fetchRequest.sortDescriptors = [sortDescriptor] 

    // Initialize Fetched Results Controller 
    let fetchedResultsController = NSFetchedResultsController(fetchRequest: fetchRequest, managedObjectContext: self.coreDataManager.managedObjectContext, sectionNameKeyPath: nil, cacheName: nil) 

    return fetchedResultsController 
}() 

Jede Hilfe, wie man diesen Fehler beheben/debuggen würde, würde geschätzt werden.

+3

Was ist CoreDataManager? es ist nicht Teil von CoreData, also hast du das irgendwo erschaffen? – darren102

+0

Der Fehler, den Sie erhalten Die Verwendung des nicht deklarierten Typs 'CoreDataManager' hat nichts mit' NSFetchedResultsController' zu tun. – D4ttatraya

+0

Mein Fehler! Ich habe mehrere Tutorials verfolgt und es gab eine Menge Code, die ein Tutorial innerhalb der AppDelgate-Klasse hatte. In dem anderen Tutorial wurde der gleiche Code gezeigt, aber ich hatte nicht bemerkt, dass dieses Tutorial die Daten in seiner eigenen Klasse namens CoreDataManager hatte. Sobald ich den Code in seine eigene Klasse verschoben habe, ist der Fehler verschwunden. – Mych

Antwort

0

Mein schlechtes! Ich habe mehrere Tutorials verfolgt und es gab eine Menge Code, die ein Tutorial innerhalb der AppDelgate-Klasse hatte. In dem anderen Tutorial wurde der gleiche Code gezeigt, aber ich hatte nicht bemerkt, dass dieses Tutorial die Daten in seiner eigenen Klasse namens CoreDataManager hatte. Sobald ich den Code in seine eigene Klasse verschoben habe, ist der Fehler verschwunden.

Verwandte Themen