Делегировать соответствие и MFMailComposeViewController
Я не могу понять, почему я должен декларировать соответствие обоим MFMessageComposeViewControllerDelegate
а также UINavigationControllerDelegate
когда используешь MFMessageComposeViewController
,
Неспособность просто заявить о соответствии UINavigationControllerDelegate
приводит к предупреждению компилятора о присвоении 'id<UINavigationControllerDelegate>' from incompatible type ViewController *const __strong'
Почему не декларирует соответствие MFMessageComposeViewControllerDelegate
и реализации методов делегата в моем заголовке достаточно?
Там даже нет UINavigationControllerDelegate
делегировать методы для реализации...
Соответствующий код...
Mmmmplementation:
-(void)shareTrainInformation
{
NSLog(@"Sharing...");
MFMessageComposeViewController *messageComposer = [[MFMessageComposeViewController alloc] init];
messageComposer.delegate = self;
}
Заголовок:
@interface RRDetailViewDrillDownViewController : UIViewController <MFMessageComposeViewControllerDelegate, UINavigationControllerDelegate>
1 ответ
Используйте свойство mailComposeDelegate составителя: composer.messageComposeDelegate = self;
Это потому, что это имя уже занято несвязанным делегатом, объявленным в суперклассе. (UINavigationController объявляет свойство делегата.)