Я использую UICollectionView для загрузки и отображения изображений из базы данных Backendless, как я могу снова отобразить эти изображения в ViewController, которые содержат ImageView, когда я нажимаю на любую строку My CollectionView с помощью Swift3.Как отобразить изображение в новом ViewController, содержащее ImageView после загрузки из задней бесконечной базы данных с помощью Swift3
Это мой CollectionView.
import UIKit
import SDWebImage
class GallaryCollectionViewController: UICollectionViewController {
var GallaryArray = [TestTable]()
let backendless = Backendless()
override func viewDidAppear(_ animated: Bool) {
super.viewDidAppear(animated)
loaddatawithquery()
}
// MARK: UICollectionViewDataSource
override func numberOfSections(in collectionView: UICollectionView) -> Int {
return 1
}
override func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
return GallaryArray.count
}
override func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
if let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "cell", for: indexPath) as? GallaryCell {
let ImgURL = URL(string : self.GallaryArray[(indexPath as NSIndexPath).row].ImgURL!)
cell.GallImag.sd_setImage(with: ImgURL)
cell.ShowImg = {
if let myimage = (cell.GallImag.image) {
// Error here How to complete the code ?
}
}
return cell
}
else {
let cell = GallaryCell()
let ImgURL = URL(string : self.GallaryArray [(indexPath as NSIndexPath).row].ImgURL)
cell.GallImag.sd_setImage(with: ImgURL)
cell.ShowImg = {
if let myimage = (cell.GallImag.image) {
}
}
return cell
}
}
func loaddatawithquery() {
let dataQuery = BackendlessDataQuery()
dataQuery.queryOptions.pageSize = 50
backendless.data.of(TestTable.ofClass()).find(dataQuery,response: {(result: BackendlessCollection?) -> Void in
let data = result?.getCurrentPage()
for obj in data! as! [TestTable] {
self.GallaryArray.append(obj)
self.collectionView?.reloadData()
}
}, error: { (fault: Fault?) -> Void in
let alert = UIAlertController(title: "انتباه", message:"يرجى الاتصال بالانترنيت", preferredStyle: .alert)
alert.addAction(UIAlertAction(title: "OK", style: .default) { _ in })
self.present(alert, animated: true){}
})
}
override func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) {}
}
И это моя ячейка.
import UIKit
class GallaryCell: UICollectionViewCell {
@IBOutlet weak var GallImag: UIImageView!
var ShowImg : (() ->Void)?
func setSelected(_ selected: Bool, animated: Bool) {
setSelected(selected, animated: animated)
self.ShowImg!()
}
}
Что вы подразумеваете под беззащитным? – Honey
Я использую базу данных Backendless для загрузки данных. –