я пытаюсь реализовать это решение для обработки несколько идентификаторов SEGUE с протоколом Protocol-Oriented Segue Identifiers in Swift, но я получил эту ошибку:типа ViewController не соответствует протоколу
type 'ViewController', doesn't conform to protocol 'SegueHandlerType'
Вот код:
protocol SegueHandlerType {
associatedtype SegueIdentifier: RawRepresentable
}
extension SegueHandlerType where Self: UIViewController, SegueIdentifier.RawValue == String {
func performSegueWithIdentifier(segueIdentifier: SegueIdentifier,
sender: AnyObject?) {
performSegueWithIdentifier(segueIdentifier.rawValue, sender: sender)
}
func segueIdentifierForSegue(segue: UIStoryboardSegue) -> SegueIdentifier {
// still have to use guard stuff here, but at least you're
// extracting it this time
guard let identifier = segue.identifier,
segueIdentifier = SegueIdentifier(rawValue: identifier) else {
fatalError("Invalid segue identifier \(segue.identifier).") }
return segueIdentifier
}
}
i копирование/вставка решения, но все тот же результат. и самое странное, что когда я загрузил проект из GitHub, он отлично работает. это сводит меня с ума.
ошибка:
1. Код, который вы показываете, не включает 'ViewController'. 2. Где происходит ошибка? – luk2302
sory, отредактированный ... – i6x86
@ i6x86 ошибка, которую вы получаете, означает, что вы не реализовали требуемые методы и переменные 'SegueHandlerType' – kabiroberai