我的想法是有一个通用的路由器,我可以使用的通用方法,我在我的应用程序中使用。但我得到这个错误,我想保持weak var viewController
作为一个HomeViewController我怎样才能使它工作呢?
类型'HomeRouter'不符合协议'CommonRoutingLogic'
import UIKit
class HomeViewController: UIViewController {
var router: HomeRoutingLogic?
func detailsClicked() {
router?.goToDetails()
}
}
class HomeRouter: CommonRoutingLogic {
weak var viewController: HomeViewController?
init(viewController: HomeViewController?) {
self.viewController = viewController
}
}
protocol HomeRoutingLogic: CommonRoutingLogic {
func displayHomeGreetings()
}
protocol CommonRoutingLogic {
var viewController: UIViewController? { get set }
func goToDetails()
}
extension CommonRoutingLogic {
func goToDetails() {
// goto details
}
}
似乎您没有实现goToDetails()方法。也许可以这样修改:
extension CommonRoutingLogic {
func goToDetails() {
// goto details
}
}
?
extension HomeRouter : CommonRoutingLogic {
func goToDetails() {
// goto details
}
}