Я перемещаюсь от viewcontroller A к viewcontroller B следующим образом.
@IBAction func companyListTapped(_ sender: Any) {
let viewcontrollerB = Bundle.main.loadNibNamed(String(describing: ListViewController.self),
owner: self,
options: nil)?[0] as! viewcontrollerB
self.navigationController?.pushViewController(viewcontrollerB, animated: true)
}
Теперь, во время навигации, я также хочу передать модель и табличную ячейку в viewcontroller B. Итак, для этого ясделал обобщенную функцию и получил к ней доступ так ...
Функция такая ...
func doSomething<M,T>(_ a: M.Type, myType: T.Type) {
print(M.self)
print(T.self)
}
Доступ к ней так ...
@IBAction func companyListTapped(_ sender: Any) {
let viewcontrollerB = Bundle.main.loadNibNamed(String(describing: ListViewController.self),
owner: self,
options: nil)?[0] as! ViewControllerB
doSomething(Company.self, myType: CompanyCell.self) -> //Accessed here
self.navigationController?.pushViewController(viewcontrollerB, animated: true)
}
Теперь печатьM.self
и T.self
дают мне Company
и CompanyCell
, которые являются моей моделью и ячейкой просмотра таблицы соответственно.Но как я передам эти два значения, то есть Company и CompanyCell, моему контроллеру представления B, который я не могу выяснить.Надеюсь, кто-нибудь может помочь ...