Ich habe zwei ViewControllers. ViewController # 1 enthält den UIImagePicker und ViewController # 2 enthält die UIImage-Dictionary-Variable mit Key. Ich möchte das Wörterbucharray mit der Variable UIImage (var newImage = UIImage()) aktualisieren, die ich von ViewController # 1 übergeben habe. Das Array erwartet eine Zeichenfolge, daher habe ich versucht, das UIImage-Array in eine Zeichenfolge zu konvertieren. Ich habe auch bestätigt, dass das Bild kein Glück. Irgendwelche Ideen?Swift 2: Update UIImage Dictionary mit UIImage() var von UIImagePicker
ViewController#1:
class ViewController: UIViewController,UINavigationControllerDelegate,UIImagePickerControllerDelegate {
let imagePicker = UIImagePickerController()
var images = [UIImage]()
var testimage = UIImage()
@IBOutlet weak var beaconOne: UITextField!
@IBOutlet weak var beaconTwo: UITextField!
@IBOutlet weak var backImage: UIImageView!
@IBOutlet weak var majorID2: UITextField!
@IBAction func pickPhoto(sender: UIBarButtonItem) {
imagePicker.allowsEditing = true
imagePicker.modalPresentationStyle = .Popover
imagePicker.sourceType = .PhotoLibrary
imagePicker.delegate = self
self.presentViewController(imagePicker, animated: true, completion: nil)
}
func imagePickerController(picker: UIImagePickerController, didFinishPickingImage pickedimage: UIImage, editingInfo: [String : AnyObject]?) {
testimage = pickedimage
self.dismissViewControllerAnimated(true, completion: nil)
print(images)
}
override func viewDidLoad() {
super.viewDidLoad()
}
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
let planVC = segue.destinationViewController as! PlanagramViewController
planVC.newImage = testimage
}
}
ViewController#2:
//
// ViewController.swift
// BeaconTest
//
// Created by Apple on 5/6/16.
// Copyright © 2016 Apple. All rights reserved.
//
// Uses CoreLocation Framework
import UIKit
import CoreLocation
class PlanagramViewController: UIViewController,CLLocationManagerDelegate,UIImagePickerControllerDelegate,UINavigationControllerDelegate {
@IBOutlet weak var imageView: UIImageView!
@IBOutlet weak var testImageView: UIImageView!
var newImage = UIImage()
var beaconImages = [51098: UIImage(named: "Plan_P"),21714: UIImage(named: "Plan_M")]
override func viewDidLoad() {
super.viewDidLoad()
let newvcMajorID = Int(vcMajorID1)
beaconImages.updateValue(UIImage(named: "Plan_P"), forKey: newvcMajorID!)
let newvcMajorID2 = Int(vcMajorID2)
beaconImages.updateValue(UIImage(named: "Plan_M"), forKey: newvcMajorID2!)
}
}
Nicht ganz sicher mit dem, was Sie erreichen möchten, möchten Sie das Bild bereits im Wörterbuch für einen bestimmten Schlüssel gespeichert ändern. –
Ja. Ich möchte die Bilder "Plan_P" und "Plan_M" im Array für die Variable var newImage = UIImage(), die ich in ViewController # 2 deklariert habe, ersetzen. –