ошибка компиляции в AppDelegate.swfit при обновлении до Xcode 6.1
После обновления до xCode6. 1, я не могу скомпилировать свой проект, который в прошлый раз был в порядке. Я никогда ничего не менял в этом файле. Пожалуйста, помогите мне !!!
AppDelegate.Свифт: 75: 29:
errorWithDomain(_:code:userInfo:)' is unavailable: use object construction 'NSError(domain:code:userInfo:)
lazy var persistentStoreCoordinator: NSPersistentStoreCoordinator? = {
// The persistent store coordinator for the application. This implementation creates and return a coordinator, having added the store for the application to it. This property is optional since there are legitimate error conditions that could cause the creation of the store to fail.
// Create the coordinator and store
var coordinator: NSPersistentStoreCoordinator? = NSPersistentStoreCoordinator(managedObjectModel: self.managedObjectModel)
let url = self.applicationDocumentsDirectory.URLByAppendingPathComponent("PassNote.sqlite")
var error: NSError? = nil
var failureReason = "There was an error creating or loading the application's saved data."
if coordinator!.addPersistentStoreWithType(NSSQLiteStoreType, configuration: nil, URL: url, options: nil, error: &error) == nil {
coordinator = nil
// Report any error we got.
let dict = NSMutableDictionary()
dict[NSLocalizedDescriptionKey] = "Failed to initialize the application's saved data"
dict[NSLocalizedFailureReasonErrorKey] = failureReason
dict[NSUnderlyingErrorKey] = error
error = NSError.errorWithDomain("YOUR_ERROR_DOMAIN", code: 9999, userInfo: dict)
// Replace this with code to handle the error appropriately.
// abort() causes the application to generate a crash log and terminate. You should not use this function in a shipping application, although it may be useful during development.
NSLog("Unresolved error (error), (error!.userInfo)")
abort()
}
4 ответа:
Попробуйте использовать эту команду в Xcode: cmd + shift + k
А, понятно. Я также развиваюсь в Swift, и они изменили некоторые стандартные реализации.
Все, что вам нужно сделать, это изменить функцию на то, что говорит Xcode.. :) У меня было около 90 изменений в моем проекте.
Поэтому вам нужно изменить его на этот:
NSError(domain: "YOUR_ERROR_DOMAIN", code: 9999, userInfo: dict)
У меня была эта ошибка при запуске моего кода в новой бета-версии Xcode 6.3. Это часть кода CoreData, который создается при первом создании приложения.
*********************************раньше*******************************************
/ / сообщайте о любой ошибке, которую мы получили.
Пусть dict = NSMutableDictionary ()
Dict[NSLocalizedDescriptionKey] = "не удалось инициализировать сохраненные данные приложения"
Dict[NSLocalizedFailureReasonErrorKey] = failureReason
Dict[NSUnderlyingErrorKey] = error
Error = NSError.errorWithDomain ("YOUR_ERROR_DOMAIN", код: 9999, userInfo: dict)
// Замените это кодом, чтобы правильно обработать ошибку.
/ / abort () заставляет приложение генерировать журнал сбоев и завершать работу. Вы не должны использовать эту функцию в приложении доставки, хотя она может быть полезна во время разработки.
NSLog ("неразрешенная ошибка (error), (ошибка!.userInfo)")
Abort ()
********************************после*********************************************
var dict = [String: AnyObject]() dict[NSLocalizedDescriptionKey] = "Failed to initialize the application's saved data" dict[NSLocalizedFailureReasonErrorKey] = failureReason dict[NSUnderlyingErrorKey] = error error = NSError(domain: "YOUR_ERROR_DOMAIN", code: 9999, userInfo: dict) // Replace this with code to handle the error appropriately. // abort() causes the application to generate a crash log and terminate. You should not use this function in a shipping application, although it may be useful during development. NSLog("Unresolved error \(error), \(error!.userInfo)") abort()
Swift 4
Если эта ошибка показывает вам в основных данных просто удалите / удалите ваше приложение из симулятора или телефона (если вы работаете в телефоне) нажмите shift + cmd + H для перехода к дому и долгое нажатие на значок приложения, а теперь очистите и постройте свое приложение.
Clean-shift + cmd + k
Встроенный cmd + B
Запустите его.
Эта ошибка показывает, что вы скопировали папку вашего проекта с одного компьютера и перенесли ее на другой.