2016-09-15 5 views
1

Nachdem ich Xcode Version aktualisieren 8.0 (8A218a) swift 3, bekam ich diesen FehlerWert kann nicht vom Typ zuordnen '(String ?, Bool, [ANYOBJECT] ?, NSError?) ->()' zu

Kann den Wert vom Typ '(String ?, Bool, [AnyObject] ?, NSError?) ->()' nicht zuweisen, um 'UIActivityViewControllerCompletionWithItemsHandler?'

activityview.completionWithItemsHandler = {(activityType: String?, completed:Bool, returnedItems:[AnyObject]?, error: NSError?) in 
      if !completed { 
       print("cancelled") 
       return 
      }else{ 
       complele() 
      } 

     } 

Ich verfolge dieses Cannot assign a value of type '(String!, Bool, [AnyObject]!, NSError!)->Void to a value of type UIActivityViewControllerCompletionWithItemsHandler?'

Aber ich habe immer noch die Fehlermeldung.

Es funktioniert gut in früheren Version 7.3.1 swift 2.

Antwort

6

Verwenden UIActivityType statt String,[Any] statt [AnyObject] und Error statt NSError wie diese.

activityview.completionWithItemsHandler = {(activityType: UIActivityType?, completed:Bool, returnedItems:[Any]?, error: Error?) in 
    if !completed { 
     print("cancelled") 
     return 
    }else{ 
     complele() 
    } 
} 

Überprüfen Sie apple documentation für weitere Details.

+0

immer noch die Fehlermeldung: Kann nicht den Wert des Typs '(String ?, Bool, [Any] ?, Fehler?) ->()' Typ "UIActivityViewControllerCompletionWithItemsHandler?" – stevengbu

+0

Überprüfen Sie die bearbeitete Antwort. –

+0

Danke, du sparst meinen Tag: D – stevengbu

Verwandte Themen