将 typedef 转换为 Swift

Convert typedef to Swift

如何将此代码转换为 Swift

 typedef  UIViewController<CalendarViewControllerNavigation> CalendarViewController;

试图到处寻找解决方案,但似乎找不到对此的参考。

我在使用来自 https://github.com/jumartin/Calendar 的日历库时遇到了同样的问题。

我已经解决了这个问题,如下所示。

protocol CalendarViewControllerNavigation: NSObjectProtocol {
    func move(to date: Date, animated: Bool)
}

typealias CalendarTypeController = UIViewController

extension CalendarTypeController:CalendarViewControllerNavigation{
    internal func move(to date: Date, animated: Bool) {
    }
    internal func deviceIsRotated() {
    }
    internal func selectedEventForAddSession(event:EventDetail) {
    }
}


protocol CalenderViewControllerDelegate : NSObjectProtocol {
    func calendarViewController(_ controller:CalendarTypeController, showDate:NSDate)
}

希望这段代码对您有所帮助!

在Swift4中你可以使用:

typealias CalendarViewController = UIViewController & CalendarViewControllerNavigation

其中使用了新的protocol composition type。 另见 SE-156.