Передать данные массива из CollectionView в следующий ViewController - PullRequest
0 голосов
/ 01 марта 2020

Я занимаюсь разработкой IOS приложений, и я хотел бы передать изображение еды и заголовок следующему ViewController. Изображение и заголовок еды извлекаются из API и сохраняются в массиве и используют SDWebImage для отображения изображения и заголовка еды. Используются изображение и название пищи publi c var foodTitle = String и publi c var foodImage = String.

Можно ли передавать данные изображения, по которому щелкнули, из ячейки представления коллекции в следующий ViewController?

Я пытался использовать приведенный ниже код, но он все равно не смог отобразить изображение и заголовок на ViewController.

   func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath){

    let mainStoryboard:UIStoryboard = UIStoryboard(name: "Main", bundle: nil)
    let placeOrder = mainStoryboard.instantiateViewController(withIdentifier: "PlaceOrderViewController") as! PlaceOrderViewController
    placeOrder.name = self.foodTitle[indexPath.item]
    placeOrder.image = self.foodImage[indexPath.row]
    self.navigationController?.pushViewController(placeOrder, animated: true)
}

Ниже приведен код представления коллекции:

func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "Cell", for: indexPath) as! MainPageCollectionViewCell
cell.FoodTitle.text = self.foodTitle[indexPath.item]
cell.Food.sd_setImage(with: URL(string: foodImage[indexPath.row]),placeholderImage: UIImage(named: "image"))
    return cell
}

1 Ответ

0 голосов
/ 02 апреля 2020

Когда вы передаете URL изображения и заголовок, это возможно. Создайте представление изображения в следующем viewController и загрузите изображение представления изображения с помощью SDWebImage asyn c call.

...