2016-04-15 9 views
0

私はアプリケーションを作成してCoreDataを使用することに決めました。最初にプロジェクトを作成するときにUse CoreDataオプションをチェックするのではなく、宣言されていないタイプの 'CoreDataManager'の使用

私はいくつかのチュートリアルを実行しようとした後にすべてを持っていると思うが、私が得る1つのエラーをデバッグできませんでした。

私は、FetchRequestを使用してテーブルビューにデータを書き込むUiTableViewControllerを持っています。ビューのコードが...

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)") 
     } 
    } 
} 

エラーがライン

var coreDataManager: CoreDataManager = CoreDataManager() 

に対して表示されます私が手にエラーが宣言されていないタイプの使用は「CoreDataManager

VARは、後半に使用されています同じクラス

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

このエラーを修正/デバッグする方法については、ご了承ください。

+3

CoreDataManagerとは何ですか? CoreDataの一部ではありませんので、どこかで作成しましたか? – darren102

+0

取得したエラーは、宣言されていない型CoreDataManagerの使用はNSFetchedResultsController'とは関係ありません – D4ttatraya

+0

私の悪い!私はいくつかのチュートリアルを続けてきており、AppDelgateクラス内に1つのチュートリアルがあるコードがたくさんありました。他のチュートリアルでも同じコードが表示されていましたが、このチュートリアルではCoreDataManagerという独自のクラスのデータが含まれていることがわかりませんでした。コードを自分のクラスに移動すると、エラーは消えました。 – Mych

答えて

0

悪い!私はいくつかのチュートリアルを続けてきており、AppDelgateクラス内に1つのチュートリアルがあるコードがたくさんありました。他のチュートリアルでも同じコードが表示されていましたが、このチュートリアルではCoreDataManagerという独自のクラスのデータが含まれていることがわかりませんでした。コードを自分のクラスに移動すると、エラーは消えました。

関連する問題