Я создаю контроллер представления страницы, в котором я хотел бы создать две открытые функции objc, которые существуют в PageViewController:
@objc func nextPage() {
// navigates to next view controller
}
@objec func previousPage() {
// navigates to previous view controller
}
Из одного из контроллеров представления, отображаемых PageViewController, PageOneViewController, я хотел бычтобы использовать эту функцию с селектором в действии:
var pageViewController: PageViewController? {
guard let parent = self.parent as? PageViewController else {
return nil
}
return parent
}
button.addTarget(self, action: #selector(self.pageViewController?.nextPage), for: .touchUpInside)
Однако, когда я делаю это, я получаю ошибку: '-[MyProject.PageOneViewController nextPage:]: unrecognized selector sent to instance 0x....
Работают ли селекторы только в одном классе? Разве вы не можете использовать селекторные функции таким образом? В основном я не хотел писать функцию nextPage
во всех моих контроллерах представления, которые отображает PageViewController.