erklärte ich die var imagePicked = 0
an der Spitze meiner Klasse. Jetzt wenn ich den Wert von imagePicked ändern innerhalb eines IBAction wie hier:ändern Wert von var außerhalb der Funktion
import UIKit
Klasse Viewcontroller: UIViewController, UIImagePickerControllerDelegate, UINavigationControllerDelegate {
@IBOutlet weak var titelbild: UIButton!
@IBOutlet weak var profilbild: UIButton!
let imagePicker = UIImagePickerController()
var imagePicked = 0
override func viewDidLoad() {
super.viewDidLoad()
imagePicker.delegate = self
// imagePicker.allowsEditing = false
// imagePicker.sourceType = .PhotoLibrary
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
@IBAction func titelbildtapped(sender: AnyObject) {
// if UIImagePickerController.isSourceTypeAvailable(UIImagePickerControllerSourceType.PhotoLibrary){
imagePicked == 1
imagePicker.allowsEditing = false
imagePicker.sourceType = .PhotoLibrary
self.presentViewController(imagePicker, animated: true, completion: nil)
// }
}
@IBAction func profilbildtapped(sender: AnyObject) {
imagePicked == 2
imagePicker.allowsEditing = false
imagePicker.sourceType = .PhotoLibrary
self.presentViewController(imagePicker, animated: true, completion: nil)
print ("output")
}
func imagePickerController(picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : AnyObject]) {
if let pickedImage = info[UIImagePickerControllerOriginalImage] as? UIImage {
if imagePicked == 1 {
titelbild.setImage(pickedImage, forState: UIControlState.Normal)
// titelbild.imageView?.image = pickedImage
} else if imagePicked == 2 {
profilbild.setImage(pickedImage, forState: .Normal) }
}
dismissViewControllerAnimated(true, completion: nil)
}
func imagePickerControllerDidCancel(picker: UIImagePickerController) {
dismissViewControllerAnimated(true, completion: nil)
}
}
der Wert imagePicked zu sein scheint immer noch 0 statt 2. Wie kann ich den Wert ändern, so dass es nicht nur innerhalb der Funktion geändert wird?
Können Sie ein komplettes Beispiel Ihrer Klasse zeigen? Ursache Normalerweise sollte der Code funktionieren - außer die Beispielfunktion sollte etwas wie 'func example() {...}' ... sein. –
Hast du wirklich imagePicked == 2 anstatt imagePicked = 2 geschrieben? – FredericP
legte eine 'print' Ausgabe in Ihre' profilbildtapped' Funktion, um zu sehen, ob es wirklich aufgerufen wird, wenn Sie auf Ihrem Imageview tippen ... –