2016-04-26 5 views
1

Der Wert von '[PHAsset]' kann nicht dem Typ 'UIImageView!' Zugewiesen werden.Ein Typ vom Typ '[PHAsset]' kann nicht dem Typ 'UIImageView!' Zugewiesen werden.

Ich habe ein Problem hier:

enter image description here

AKTUALISIERT FRAGE

// CONVERT PHASSET TO UIIMAGE 
func getAsset(asset: PHAsset) -> UIImage { 
    let manager = PHImageManager.defaultManager() 
    let option = PHImageRequestOptions() 
    var image = UIImage() 
    option.synchronous = true 
    manager.requestImageForAsset(asset, targetSize: CGSize(width: 100.0, height: 100.0), contentMode: .AspectFit, options: option, resultHandler: {(result, info)->Void in 
     image = result! 
    }) 
    return image 
} 




func doneButtonDidPress(images: [UIImage]) { 



    self.imagePickerController.dismissViewControllerAnimated(true, completion: nil) 
    var selectedImg = imagePickerController.stack.assets 

    getAsset(selectedImg) 
    self.SelectImageView.image = UIImage(named: chosenImg) 



    } 

aber noch i-Fehler erhalten, wie im Bild unten

gezeigt

enter image description here

Antwort

0

Die Variable SelectedImage ist vom Typ PHAsset

Die Variablen self.backgroundImageView und self.SelectImageView sind vom Typ UIImageView

Diese beiden Typen nicht übereinstimmen, so Swift erlaubt dir nicht, die Aufgaben zu erledigen.

Um die Zuordnung zu machen, Sie zu convert PHAsset zu UIImage haben wird und dann weisen Sie diese UIImage auf die UIImageView

+0

Was mache ich in diesem Fall? .. –

+0

@MartinQ Ich habe das im letzten Teil beantwortet. Es gibt mehrere Antworten auf StackOverflow, wie man diese Konventionen macht. –

+0

Ok, ich bin schon eine Weile hier und bin ein bisschen festgefahren. Konvertiere ich es außerhalb der Tastenfunktion? oder konvertiere ich es in der Button-Funktion. Wenn ich außerhalb der Schaltflächenfunktion konvertiere, dann rufe die Funktion in der Schaltfläche auf, es heißt: kann den Wert vom Typ 'UIImage' nicht in den erwarteten Argumenttyp 'PHAsset' –

0

[PHAsset] ist ein Array von PHAsset Objekten. Um ein Bild aus dem Array zu erhalten, rufen Sie PHAsset von dem gewünschten spezifischen Index ab und verwenden Sie requestImageForAsset:targetSize:contentMode:options:resultHandler:, um das Bild vom Asset abzurufen.

+0

mit meinem obigen Code umwandeln, könntest du mir ein grobes Layout geben TU das? ... Ich fühle mich etwas verloren. Danke, –

+0

JAL, gibt es trotzdem, kannst du es im Code ausdrücken? Ich verstehe deine Anweisungen, aber ich stecke darauf und ich habe keine Hilfe. Wenn Sie nicht binden, wäre ich wirklich dankbar für Ihre Hilfe. Vielen Dank –

Verwandte Themen