メッセージ作成ビューコントローラー(MFMessageComposeViewController)をMFMessageComposeViewControllerDelegate表示し、メッセージが送信/キャンセル/失敗したかどうかを確認するメソッドを処理できるようにするには、すべてのビューコントローラーが必要です。したがって、私のアイデアはUIViewController、このビューコントローラでこれらのメソッドをサブクラス化することでした。次に、メッセージを送信できるようにする必要があるすべてのビューコントローラーを上記のビューコントローラーにサブクラス化します。
以下のようなのでBaseMessageViewController : UIViewController
そしてViewController1 : BaseMessageViewController、ViewController2 : BaseMessageViewControllerなど...
それで、私がそれにいたとき、私は次のようなプロトコルを作成すると思いました:
@protocol MessageProcessing
@required
- (void)presentMessageCompose;
- (void)processMessageCancelled;
- (void)processMessageSent;
- (void)processMessageFailed;
@end
しかしBaseMessageViewController、このプロトコルに準拠する必要があるのか、それとも「具体的な」ビューコントローラがこのプロトコルに準拠する必要があるのかわかりません。
私がそれに準拠している場合、BaseMessageViewControllerクラスの継承のために、具体的なViewControllerが自動的に準拠するという考えがありました。ただし、具象ビューコントローラに、必要なメソッドが実装されていないという警告は表示されません。
誰かがここで私を助けてくれませんか:)