Я пытался перенести проект Swift на последнюю версию Swift.
fileprivate lazy var _uploadedSurveysController: NSFetchedResultsController? = nil
Эта строка кода дает следующую ошибку.
Nil cannot initialize the specified type NSFetchedResultsController?
Xcode предлагает рекомендацию по исправлению, которая добавляет еще один вопросительный знак рядом с NSFetchedResultsController. Когда я говорю «да», он выдает ту же ошибку и предлагает исправление, добавляя еще один вопросительный знак.
Вот еще код
fileprivate var uploadedSurveysController: NSFetchedResultsController {
guard _uploadedSurveysController == nil else { return _uploadedSurveysController! }
_uploadedSurveysController = NSFetchedResultsController(fetchRequest: coreDataHelper.mailedAssetsFetchRequest(), managedObjectContext: managedObjectContext, sectionNameKeyPath: "section2Identifier", cacheName: nil)
do {
try _uploadedSurveysController!.performFetch()
} catch let error as NSError { Logger.sharedInstance.logMessage("\(#function) Uploaded Surveys Fetching Error: \(error.userInfo)") }
return _uploadedSurveysController!
}
Любая помощь могла бы быть полезна.
Просто чтобы вы знали. Я действительно новичок в Swift и пытаюсь обновить существующий проект с Swift 2.3 до 3.
Заранее спасибо. Ремзи.
NSFetchedResultsController
в Swift 3 теперь требуется объявление универсального типа. Можете ли вы включить еще код, где используется_uploadedSurveysController
? (Инициализирован как неnil
) - person Danoram   schedule 03.11.2016