나는 Fusuma cocoal pod framework을 사용하고 있습니다. 그러나 전체 프로젝트가 신속하게 작성되었다고 생각하는 경우에도 객관적인 C 프로토콜을 가지고있는 것으로 나타났습니다.신속한 목표 C 프로토콜
@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 프로토콜의 멤버가 될 수 없습니다이 warining를 얻고 목적-C
나는 @objc을 제거하는 방법에 대한 생각하고 프로토콜 앞에 있지만 옵션 기능을 제거해야한다고 말합니다. 그러나 나는 정상적인 기능으로 변경하는 것을 잊어 버린다. 그러나 @objc를 제거하면 내가 알아야 할 것이 무엇인지 알고 싶다.
내가 추가하려고하는 기능은 이전 VC의 또 다른 위임 기능이다. 이 경우에는 3 개의 VC가 있습니다. 이 중 하나 인 두 번째 것은 해고 된 후 세 번째 VC의 데이터를 가져옵니다. 그럼 난 VC1가
extension FusumaViewController: VC3Delegate {
func readyToUploadPost(postUpload: PostUpload) {
delegate_?.readyToUploadPost_Fusuma(postUpload)
}
가능성이 그들이 목표 - C의 동적 기능이 필요합니다. 스위프트에서는 그렇게 할 수 없습니다. –
추가하려고하는 기능은 무엇입니까? –
@MikeTaverne, 질문에 대답하는 업데이트 된 질문을 참조하십시오. 선택적 func을 삭제하고 objC를 제거하려고 시도했지만, 매개 변수가 내부 형식을 사용하기 때문에 Method called declared public이 될 수 없다는 오류가 발생합니다. 그래서 나는 그것을 처리하기 위해 완전히 별개의 프로토콜을 만드는 것으로 끝났다. 그것이 올바른 방법인지 확실하지 않습니다. 해킹처럼 보입니다 – user172902