Я использую каркас для кокосовых стручков Fusuma. Однако я обнаружил, что у них есть протокол Objective-C, даже несмотря на то, что весь проект был написан на Swift.
@objc public protocol FusumaDelegate: class {
func fusumaImageSelected(image: UIImage)
optional func fusumaDismissedWithImage(image: UIImage)
func fusumaVideoCompleted(withFileURL fileURL: NSURL)
func fusumaCameraRollUnauthorized()
optional func fusumaClosed()
}
Я хочу добавить в протокол еще одну функцию. Однако я получаю это предупреждение
Метод не может быть членом протокола @objc, потому что тип параметра не может быть представлен в объекте-C
Я думаю об удалении @objc перед протоколом, но затем он говорит, что мне нужно удалить необязательную функцию. Я не против изменить их на обычные функции, однако я хочу узнать, о чем мне следует знать, если я удалю @objc
Функция, которую я пытаюсь добавить, является еще одной функцией делегата для предыдущего VC. У меня в этом случае 3 ВК. Второй, который является этим, получает данные от 3-го VC после того, как он был уволен. Затем я хочу добавить следующую функцию делегата, чтобы разрешить VC1 начать загрузку данных.
extension FusumaViewController: VC3Delegate {
func readyToUploadPost(postUpload: PostUpload) {
delegate_?.readyToUploadPost_Fusuma(postUpload)
}