Заполните таблицу отсортированными изображениями - PullRequest
0 голосов
/ 29 января 2020

Я только начал учиться быстро и у меня есть некоторые трудности в этой задаче. У меня в активе 15 картинок и есть таблица с двумя разделами. Нужно заполнить ячейки отсортированной картинкой. Пример ячейки (.textLabel = nameImage + image) В первом разделе должны быть картинки от 1-го числа до 7-го. Второй раздел должен быть с 8-го по 15-й.

Это должно быть реализовано в разных файлах. В одном файле только структуры со свойствами. В другом заполнение таблиц отсортированными картинками. Моя слабость в том, что я не знаю, как полностью реализовать это. Я создал две структуры. Но я не знаю, что делать дальше

Struct.swift

import Foundation
struct imageOneSection {
    var titleImageOneSec:String
    var numImageOneSec: Int

    init(titleImageOneSec:String, numImageOneSec) {
        self.titleImageOneSec = titleImageOneSec
        self.numImageOneSec = numImageOneSec
    }
}

struct imageTwoSection {
    var titleImageTwoSec:String
    var numImageTwoSec: Int

    init(titleImageTwoSec:String, numImageTwoSec) {
        self.titleImageTwoSec = titleImageTwoSec
        self.numImageTwoSec = numImageTwoSec
    }
}

1 Ответ

3 голосов
/ 29 января 2020

Вы можете использовать только одну структуру и установить многомерный массив, где один массив будет состоять из изображений от 1 до 7, а другой от 8 до 15. В файле, где вы добавляете контент в свою ячейку, вы можете создать:

let data: [[imageOneSection]] = [[imageOneSection.init(titleImageOneSec: imageName), numImage), ...], 
                                 [imageOneSection.init(titleImageOneSec: imageName, numImage), ...]]

Тогда для ваших методов табличного представления добавьте:

override func numberOfSectionsInTableView(tableView: UITableView) -> Int {
    return data.count
}

override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
    return data[section].count
}

override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
     // init your cell
     cell.addContent (data[indexPath.section][indexPath.row])
}

В свой класс ячейки добавьте:

 func addContent (data: imageOneSection) {
      yourTextLabel.text = data.titleImageOneSec + "\(data. numImageOneSec)"
      yourImageView.image = UIImage.init(named: data.titleImageOneSec)
 }

Надеюсь, это поможет вам.

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