У меня есть контроллер просмотра, который собирает информацию, включая возможность добавления нескольких фотографий в запись. По мере добавления каждой фотографии новая фотография появляется в качестве фотографии функций (раскадровка UIImageview внутри VC). Каждая фотография также должна быть добавлена в массив изображений, который затем передается в представление контейнера со своим собственным настраиваемым контроллером представлений и отображается. По мере добавления каждой фотографии отображается фотография функции, но контейнер не перезагружается изображениями.Добавить фотографию и перезагрузить встроенный контроллер просмотра фотоконтента
Фото Контейнер действительно кажется, работает, когда массив существующих фотографий передается на сайт через подготовку к методу SEGUE следующим образом:
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?)
{
if (segue.identifier == "segueToPhotoCollection")
{
if let imagesArray = images
{
print("photos prepared")
let controller = (segue.destinationViewController as! PhotoCollectionVC)
controller.images = imagesArray
controller.delegate = self
}
}
А если нет фотографий, контейнер еще загружает (и печатные издания «загружен контейнер, но нет фотографий»).
class PhotoCollectionVC: UICollectionViewController
{
var images: [UIImage]?
weak var delegate: FeatureImageController?
override func viewDidLoad()
{
super.viewDidLoad()
if images?.count > 0
{ print("container loaded with photos: \(images!.count)") }
else { print ("container loaded, but no photos") }
Что мне нужно каким-то образом либо вспомнить метод prepareForSegue или найти другой способ обновить и перезагрузить контейнер один раз добавляется изображение. Сборщика didFinishPickingMediaWithInfo выглядит следующим образом:
func imagePickerController(picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : AnyObject])
{
picker.dismissViewControllerAnimated(true, completion:
{
var imageTaken = info[UIImagePickerControllerEditedImage] as? UIImage
...
if let imageTakenNotNil = imageTaken
{
if self.images == nil
{ self.images = [] }
self.images?.append(imageTakenNotNil)
Строку, которая каким-то образом повторно передать этот массив изображений в контейнер. Нужен ли мне метод делегата?!?
Я пробовал это, но получаю следующее сообщение об ошибке: «В представлении контейнера есть непредвиденные представления в subview. Возможно, встроенный segue уже был запущен один раз или подпрограмма была добавлена программно?» Определенно, встроенный segue уже запускается один раз - когда родительский контроллер представления сначала загружается, он загружает встроенный сегмент. Мне нужно что-то очень похожее на то, что я могу повторять несколько раз после каждого выбора фотографии. – DrWhat