Как отобразить кредиты

Элегантный способ решения этой проблемы - использование Делегирования. Я дам вам пример того, как вы можете решить эту проблему.

Прежде всего в протоколе TableViewCell Объявление:

protocol  MovieTableViewCellDelegate : class {
    func movieSelection(_ movie : Movie,indexPath: IndexPath)
}

Добавьте следующий метод в ваш класс TableViewCell

func setupCell(_ movie : Movie, indexPath: IndexPath) {
    self.indexPath = indexPath
    self.selectedMovie = movie
    movieLabel.text = movie.name
   // This is just to show you selected movie
  // let image : UIImage =  movie.isSelected ? #imageLiteral(resourceName: "checkBoxSelected") : #imageLiteral(resourceName: "checkBoxUnselected")
 //   checkBoxButton.setImage(image, for: .normal)
}

[ 1114] Получите IBAction кнопки, которую вы хотите использовать для удаления фильма:

  @IBAction func checkBoxButtonAction(_ sender: Any) {
        delegate.movieSelection(selectedMovie, indexPath: indexPath)
    }

Реализация метода TableView Delegate и DataSource должна выглядеть следующим образом:

extension ViewController : UITableViewDelegate,UITableViewDataSource {
    func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        return listmoviesArray.count
    }

    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
        let cell = tableView.dequeueReusableCell(withIdentifier: "MovieTableViewCell", for: indexPath) as! MovieTableViewCell
        cell.delegate = self
        cell.setupCell(listmoviesArray[indexPath.row],indexPath: indexPath)
        return cell
    }
}

Делегировать реализацию для удаления фильма из списка:

extension ViewController : MovieTableViewCellDelegate {
    func movieSelection(_ movie: Movie,indexPath: IndexPath) {
        // Write your code here to delete movie
        listmoviesArray.remove(at: indexPath.row)
        moviesTableView.reloadData()
    }
}
11
задан Rich Seller 30 July 2009 в 22:39
поделиться

3 ответа

Существует две разных вещи, которые необходимо рассмотреть.

Во-первых, Вы, возможно, должны определить лицензии стороннего кода. Это часто болеет файлом THIRDPARTYLICENSE. Sun Microsystems делают это много. Посмотрите в каталоге установки для OpenOffice.org, например. Существуют примеры .txt и .html версии таких файлов вокруг.

Во-вторых, можно хотеть определить зависимости в поле About кратким способом (и также относиться к файлу информации о лицензии). Я удостоверился бы, что версии появляются в поле About. Одной вещью, на которую люди хотят быстро проверить, является признак того, ли копия Вашего кода, у них есть потребности, которые будут заменены или обновлены, потому что одна из Ваших зависимостей библиотеки имеет недавно раскрытую ошибку или уязвимость системы обеспечения безопасности.

Таким образом, я предполагаю другую вещь, которую Вы хотите включать в о поле, способ для людей найти Ваш сайт поддержки и любые важные уведомления пользователям конкретной версии (есть ли у Вас условие в Вашем приложении для проверки онлайн обновления).

3
ответ дан 3 December 2019 в 10:45
поделиться

Задача Ant, кажется, лучший способ. Мы делаем подобную вещь в одном из наших проектов. Все библиотеки с открытым исходным кодом присутствуют в указанной папке. Задача Ant читает декларацию этих библиотек, версии и так далее и генерирует HTML, копии в другую указанную папку от того, где это взято веб-контейнером.

3
ответ дан 3 December 2019 в 10:45
поделиться

Генерация страницы с каждой сборкой была бы расточительна, если библиотеки не собираются изменяться часто. Версии библиотеки могут измениться, но фактические библиотеки не делают. Легче просто создать страницу HTML был бы самый легкий выход, но это - еще одна боль в голове обслуживания. Генерируйте его однажды и включайте его с пакетом. Скрипт может всегда запускаться снова в случае, если некоторые изменения вносятся в библиотеки (обновляющий версии, добавляя новые библиотеки).

2
ответ дан 3 December 2019 в 10:45
поделиться
Другие вопросы по тегам:

Похожие вопросы: