私は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の削除について考えています目的-C
で表すことができないため
方法は@objcプロトコルのメンバーにすることはできません。このwariningを取得していますプロトコルの前に、それから私はオプションのfuncを削除しなければならないと言います。しかし、私はそれらを通常の機能に変更する気にはなりませんが、私は@objcを削除すれば何を知っているか知りたいのですが。
私が追加しようとしている機能は、私はこの場合3つのVCを持っています。第2のものは、これが解雇された後の第3のVCからのデータを取得するものです。それから私はVC1はデータ
extension FusumaViewController: VC3Delegate { func readyToUploadPost(postUpload: PostUpload) { delegate_?.readyToUploadPost_Fusuma(postUpload) }
多分彼らはObjective-Cの動的な機能を必要としています。あなたはスウィフトでそれをすることはできません。 –
追加しようとしている機能はどのようなものですか? –
@MikeTaverne、あなたの質問に対処する更新された質問を参照してください。オプションのfuncを削除してobjCを削除しようとしましたが、そのパラメータに内部型が使用されているため、Methodをdeclaredpublicにできないというエラーが表示されます。だから、私はそれに対処する完全に別のプロトコルを作成するだけで終わった。それが正しい方法であるかどうかはわかりません。ハックのように思える – user172902