Как выбрать определенные изображения для отображения в виде таблицы - PullRequest
1 голос
/ 27 мая 2020

Я создал табличное представление (Xcode 11, Swift 5), в которое я поместил представление коллекции, а также создал массив изображений:

let badgesImages: [UIImage] = [

    UIImage(named: "Plastic Bottle Challenge bronze")!,
    UIImage(named: "Plastic Bottle Challenge silver")!,
    UIImage(named: "Plastic Bottle Challenge gold")!,
    UIImage(named: "Car Challenge bronze")!,
    UIImage(named: "Car Challenge silver")!,
    UIImage(named: "Car Challenge gold")!,

]

, который вспоминается здесь:

func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
    let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "CollectionViewCell", for: indexPath) as! CollectionViewCell
        cell.badgesImageView.image = badgesImages[indexPath.item]


    return cell
}

Мне нужно было бы иметь три изображения, выбранные мной из массива, чтобы заполнить одну ячейку представления таблицы, и мне нужно повторить процесс для каждой ячейки. Как я могу это сделать? Заранее спасибо!

1 Ответ

0 голосов
/ 27 мая 2020
import Foundation

let badgesImages = [
    "Plastic Bottle Challenge bronze",
    "Plastic Bottle Challenge silver",
    "Plastic Bottle Challenge gold",
    "Car Challenge bronze",
    "Car Challenge silver",
    "Car Challenge gold"
]

extension Array {
       func pick(_ n: Int) -> [Element] {
         guard count >= n else {
             fatalError("The count has to be at least \(n)")
         }
         guard n >= 0 else {
             fatalError("The number of elements to be picked must be positive")
         }

         let shuffledIndices = indices.shuffled().prefix(upTo: n)
         return shuffledIndices.map {self[$0]}
     }
}

badgesImages.pick(3) 

Пример ссылки

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...