Dieses Segment von Code funktionierte perfekt in Swift 2Wie benutze ich BFTask mit Swift 3?
override func prepare(for segue: UIStoryboardSegue?, sender: Any?) {
if (segue!.identifier == "FeedDetailSeg") {
let viewController:ItemDetail = segue!.destination as! ItemDetail
viewController.DetailItem = collectionItems![self.selectedRow]
if self.cognitoID == collectionItems![self.selectedRow].seller {
viewController.owned = true
}
else {
viewController.owned = false
}
//remove item from untapped
//appDelegate.untapped.removeAtIndex(self.selectedRow)
//collect view info
self.dataStash(collectionItems![self.selectedRow].ID, itemCondition: 2).continueWithBlock({
(task: BFTask!) -> BFTask! in
if (task.error != nil) {
print(task.error!.description)
} else {
print("DynamoDB save succeeded")
}
return nil;
})
}
}
Jetzt in Swift 3 I auf der Leitung einen Fehler
//collect view info
self.dataStash(collectionItems![self.selectedRow].ID, itemCondition: 2).continueWithBlock({
, der sagt: nicht Wert vom Typ konvertieren kann ‚(BFTask < _> !) -> BFTask! ' zum erwarteten Argumenttyp '(BFTask?) -> Any ?!'
Dies verwendet AWS, um ein Element in DynamoDB zu speichern.
Haben Sie Ihre Installation für Swift 3 aktualisiert? https://github.com/BoltsFramework/Bolts-Swift – Adrian