我无法理解为什么在使用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>
答案 0 :(得分:4)
使用作曲家的mailComposeDelegate属性:composer.messageComposeDelegate = self;
因为该名称已被超类中声明的无关委托占用。 (UINavigationController声明委托属性。)