Ich erhalte den Fehler cannot convert value for '(CKAccountStatus, NSError?) ->()' to '(CKAccountStatus, NSError?) -> Void'
in der dritten Zeile der FunktionSwift 3 vorgeschlagen Korrektur für „Wert kann nicht konvertieren für '(CKAccountStatus, NSError?) ->()' in '... -> Void'.
Hier ist der Code:
override func viewDidAppear(_ animated: Bool) {
super.viewDidAppear(animated)
container.accountStatusWithCompletionHandler{
(status: CKAccountStatus, error: NSError?) in
dispatch_async(dispatch_get_main_queue(), {
var title: String!
var message: String!
if error != nil{
title = "Error"
message = "An error occurred = \(error)"
} else {
//title = "No errors occurred getting info"
switch status{
case .Available:
message = "The user is logged in to iCloud"
title = "GOOD"
print("determined status was available")
self.shouldPullFromICloud()
//self.displayAlertWithTitle(title, message: message)
case .CouldNotDetermine:
message = "Could not determine if the user is logged" +
" into iCloud or not"
title = "BAD"
self.noUserIsSignedIn()
case .NoAccount:
message = "User is not logged into iCloud"
title = "BAD"
self.noUserIsSignedIn()
case .Restricted:
message = "Could not access user's iCloud account information"
title = "BAD"
self.noUserIsSignedIn()
}
print(title, message)
}
})
}
}
nun durch Einfügen „als 'fix it' Xcode bietet! (CKAccountStatus, Error?) -> Void "in der vorletzten Zeile. Das hilft nicht und es fragt mich immer, ob ich es" reparieren "will und wenn ich es anklicke, wird es immer weiter ankreuzen "wie! . (? CKAccountStatus, Error) -> Void "s Hier ist, was es sieht aus wie nach einem einzigen Klick auf die 'fix it' Button:
override func viewDidAppear(_ animated: Bool) {
super.viewDidAppear(animated)
container.accountStatusWithCompletionHandler{
(status: CKAccountStatus, error: NSError?) in
dispatch_async(dispatch_get_main_queue(), {
var title: String!
var message: String!
if error != nil{
title = "Error"
message = "An error occurred = \(error)"
} else {
//title = "No errors occurred getting info"
switch status{
case .Available:
message = "The user is logged in to iCloud"
title = "GOOD"
print("determined status was available")
self.shouldPullFromICloud()
//self.displayAlertWithTitle(title, message: message)
case .CouldNotDetermine:
message = "Could not determine if the user is logged" +
" into iCloud or not"
title = "BAD"
self.noUserIsSignedIn()
case .NoAccount:
message = "User is not logged into iCloud"
title = "BAD"
self.noUserIsSignedIn()
case .Restricted:
message = "Could not access user's iCloud account information"
title = "BAD"
self.noUserIsSignedIn()
}
print(title, message)
}
})
} as! (CKAccountStatus, Error?) -> Void
}
nur dieses eine ändern '(Stand: CKAccountStatus, Fehler: NSError) in' mit' (Stand: CKAccountStatus, Fehler: Fehler?) in' und entfernen 'as! (CKAccountStatus, Fehler?) -> Void' one. –
Ich bekomme immer noch den sich wiederholenden Fehler und die 'fix it' – lelephant