• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Viele hassen ihn, manche schwören auf ihn, wir aber möchten unbedingt sehen, welche Bilder Ihr vor Eurem geistigen Auge bzw. vor der Linse Eures iPhone oder iPad sehen könnt, wenn Ihr dieses Wort hört oder lest. Macht mit und beteiligt Euch an unserem Frühjahrsputz ---> Klick

Swift Fehlermeldung

ThisIsBeat

Empire
Registriert
02.02.16
Beiträge
85
Hallo,

ich habe einen Code geschrieben um Fotos mithilfe der Picker-View auszuwählen. Doch leider bekomme ich immer eine Fehlermeldung "Value of type 'ViewController' has no member 'img'" was ich mir nicht ganz erklären kann :/

Code:
import MobileCoreServices // für kUTType-Konstanten
import UIKit

class ViewController: UIViewController {
    @IBAction func choosePhoto(_ sender: AnyObject) {
        // Gibt es überhaupt eine lokale Foto-Sammlung?
        if UIImagePickerController.isSourceTypeAvailable(.savedPhotosAlbum)
        == false
        {
         return
        }
        
        //Image-Picker erzeugen
        let imgPicker = UIImagePickerController()
        // imgPicker.sourceType = .photoLibrary // alle Bilder
        imgPicker.sourceType = .savedPhotosAlbum // 'Camera Roll'
        
        // damit  eine Reaktion auf die Auswahl möglich ist
        imgPicker.delegate = self
        
        // Image-Picker anzeigen
        self.present(imgPicker, animated: true, completion: nil)
    }
    


    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }


}

extension ViewController : UIImagePickerControllerDelegate, UINavigationControllerDelegate
{
    func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : Any])
    {
        let mediaType = info[UIImagePickerControllerMediaType] as! NSString
        if mediaType == kUTTypeImage {
            self.img.image = (info[UIImagePickerControllerOriginalImage] as! UIImage)
        }
        //Image Picker schließen
        dismiss(animated: true, completion: nil)
    }
}

Kann mir zufällig jemand helfen und mir sagen was das Problem für diese Meldung ist ?

PS: Der Fehler wird in dieser Zeile angezeigt:
self.img.image = (info[UIImagePickerControllerOriginalImage] as! UIImage)
 

MacApple

Schöner von Bath
Registriert
05.01.04
Beiträge
3.652
Die Meldung besagt, dass dein ViewController keine Property img hat. Und das stimmt auch.;)
 
  • Like
Reaktionen: ThisIsBeat

ThisIsBeat

Empire
Registriert
02.02.16
Beiträge
85
Die Meldung besagt, dass dein ViewController keine Property img hat. Und das stimmt auch.;)
Okay bedeutet das so viel wie das keine Image View als Outlet markiert ist ? Was kann ich tun damit im ViewController diese Property markiert wird ? Bin gerade erst dabei Swift zu lernen deswegen tuts mir leid falls ich dumme Fragen stelle :)
 

MacApple

Schöner von Bath
Registriert
05.01.04
Beiträge
3.652
Nein, das bedeutet es nicht. Weißt du, was eine Property in Swift ist? Wenn nicht, in deiner Lernliteratur nachlesen.
 
  • Like
Reaktionen: ThisIsBeat

ThisIsBeat

Empire
Registriert
02.02.16
Beiträge
85
Nein, das bedeutet es nicht. Weißt du, was eine Property in Swift ist? Wenn nicht, in deiner Lernliteratur nachlesen.

Okay also ich habe nochmal nachgelesen und dabei handelt es sich um Eigenschaften wenn ich das richtig verstanden habe. Habe das ganze jetzt glaube ich auch gefixt, zumindest funktioniert es jetzt.

Kann man das so machen ?

Code:
 @IBOutlet weak var img: UIImageView!

In der Konsole wird mir dabei folgendes ausgegeben:

PhotoLibraryServices (0x115a166f0). One of the two will be used. Which one is undefined.

2018-01-13 16:59:06.164325+0100 ImagePicker[3139:471677] [Generic] Creating an image format with an unknown type is an error

Wie gesagt es scheint alles so zu funktionieren wie ich mir das auch vorstelle aber was soll mir die erste Meldung sagen ?
Die Meldung mit den unbekannten Type beim Bildformat ist mir auch nicht ganz klar :/