У меня есть небольшая проблема в том, что после выбора изображения из UIImagePickerController (и сохранения в Parse, потому что мой UICollectionView заполняется из моих изображений в Parse), мой UICollectionView не загружает недавно сохраненные пока я не покину этот viewController и не вернусь к нему. Я пробовал практически каждую работу, о которой я могу думать. Где я должен помещать свой код для сохранения и увольнения контроллера?UICollectionView не будет перезагружатьData() после того, как UIImagePickerController отклоняет
func imagePickerController(picker: UIImagePickerController, didFinishPickingImage image: UIImage, editingInfo: [String : AnyObject]?) {
let imagePicture = UIImageJPEGRepresentation(image, 0.1)
let imageFile = PFFile(name: "imageFile.jpg", data: image)
let saveImage = PFObject(className: "Gallery")
saveImage["imageFile"] = imageFile
saveImage["dogName"] = self.dogSelectedName
saveImage["userID"] = PFUser.currentUser()?.objectId
saveImage["dogID"] = self.dogObjectID
saveImage.saveInBackgroundWithBlock { (Bool, error) -> Void in
if error != nil {
print("There was an error")
} else {
print("New Gallery object saved: \(saveImage)")
}
}
self.collectionView.reloadItemsAtIndexPaths(self.collectionView.indexPathsForVisibleItems())
self.collectionView.reloadData()
self.dismissViewControllerAnimated(true) {() -> Void in}
}
После отладки, я замечаю много времени он сохраняет свой объект после того, как появится вид (или, в зависимости, где я пишу код, до появления зрения) и до сих пор не перезагрузит вид коллекции, пока я не оставляю и вернуться. Я поставил:
dispatch_async(dispatch_get_main_queue()) {() -> Void in
self.collectionView.reloadData()
}
В нескольких местах в мой код, но все же результат .. Как еще можно/нужно будет устанавливать это вверх? Любая помощь - это большая помощь! Благодарю.
Какую функцию вы используете для заполнения вашего 'UICollectionView'? – Caleb
пусть findPhotos = PFQuery (имя класса: "Галерея") findPhotos.whereKey ("dogID", equalTo: self.dogObjectID) findPhotos.orderByDescending ("createdAt") findPhotos.findObjectsInBackgroundWithBlock {(объекты, ошибка) -> Пустота в если позволить пользователям = объекты { для объекта пользователей { self.photoData.addObject (объект) self.collectionView.reloadData() печати ("неправдоподобным \ (self.dogSelectedName) 's \ (self.photoData.count) Изображения ") } } } – bme003
Это все в функции lookUpForPhotos(), которая вызывается в viewDidLoad – bme003