Настройка моего делегата в протоколе продолжает сбрасывать ноль.Я пробовал многочисленные подходы, предложенные в других постах.Я пытаюсь запустить и запустить мой протокол + делегат, однако не могу решить, почему он продолжает выбрасывать nil.
Принудительное развертывание, вызов делегата из различных мест в файле, удаление и добавление Weak Var.
Просмотр списка:
protocol MixPlayer : class {
func playMix(message: String)
}
class IssueViewController: UIViewController {
@IBOutlet weak var issueCollection: UICollectionView!
@IBOutlet weak var issueImage: UIImageView!
var viewController: ViewController?
var collectionViewtitle: String?
var mixImageName: String?
var mixList: [[String: String]]!
weak var mixDelegate: MixPlayer?
override func viewDidLoad() {
super.viewDidLoad()
issueCollection.dataSource = self
issueCollection.delegate = self
}
}
....
extension IssueViewController: UICollectionViewDelegate, UICollectionViewDataSource {
....
func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) {
if let url = mixList[indexPath.row]["url"] {
mixDelegate?.playMix(message: url)
}
}
}
Контроллер представления:
import UIKit
class ViewController: UIViewController {
@IBOutlet weak var mainContainer: UIView!
@IBOutlet weak var playerEmbedView: UIView!
override func viewDidLoad() {
super.viewDidLoad()
let secondVC = IssueViewController()
secondVC.mixDelegate = self
}
}
extension ViewController: MixPlayer {
func playMix(message: String) {
print(message)
}
}
Любая попытка вызова
mixDelegate?.playMix(message: url)
не удалась.В настоящее время я просто пытаюсь записать основные операторы печати.