委托合规性和MFMailComposeViewController

时间:2014-04-27 15:00:23

标签: ios objective-c uikit mfmailcomposeviewcontroller

我无法理解为什么在使用MFMessageComposeViewControllerDelegate时我必须声明与UINavigationControllerDelegateMFMessageComposeViewController的一致性。

未能简单地声明符合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 个答案:

答案 0 :(得分:4)

使用作曲家的mailComposeDelegate属性:composer.messageComposeDelegate = self;

因为该名称已被超类中声明的无关委托占用。 (UINavigationController声明委托属性。)