What worked in Swift 2 now does not work in Swift 3! The code below crashes on the line “managedObjectContext: coreDataStack.context”
import UIKit
import CoreData
class GaugeTableViewController: UIViewController, NSFetchedResultsControllerDelegate, UITableViewDataSource, UITableViewDelegate {
@IBOutlet var tableView:UITableView!
var newGaugeTextField: UITextField!
var newGaugeName: String!
var coreDataStack: CoreDataStack!
lazy var fetchedResultController:
NSFetchedResultsController<Gauge> = self.gaugesfetchedResultController()
override func viewDidLoad() {
super.viewDidLoad()
}
func gaugesfetchedResultController()
->NSFetchedResultsController <Gauge> {
fetchedResultController = NSFetchedResultsController (
fetchRequest: gaugesFetchRequest(),
managedObjectContext: coreDataStack.context,
sectionNameKeyPath: nil,
cacheName: nil)
fetchedResultController.delegate = self
do {
try fetchedResultController.performFetch()
} catch let error as NSError {
print("Error: \(error.localizedDescription)")
}
return fetchedResultController
}
Any suggestions?