我有一个视图控制器,它以模态方式打开MFMailComposeViewController。当我尝试设置邮件视图控制器的委托父视图控制器,我得到这样的警告:iPhone - MFMailComposeViewController委托不兼容的类型
Assigning to 'id<UINavigationControllerDelegate>' from incompatible
type 'MoreViewController *__strong'
父视图控制器绝对有MFMailComposeViewControllerDelegate在它的接口声明和正在实施的委托方法-mailComposeController: didFinishWithResult:error:
如下:
- (void)mailComposeController:(MFMailComposeViewController *)controller didFinishWithResult:(MFMailComposeResult)result error:(NSError *)error
{
NSLog(@"Delegate called");
}
我真的不明白为什么父视图控制器被识别为UINavigationControllerDelegate,因为我没有实现这些方法,也没有声明它。我不会那么担心,但委托方法永远不会被调用,所以我猜这个“不匹配”是问题的一部分。
如果有帮助,这是我怎么initting邮件视图控制器,在viewDidLoad
:
// MAIL
self.mail = [[MFMailComposeViewController alloc] init];
self.mail.delegate = self;
预先感谢您的任何想法。
宾果,谢谢你! – Rob 2012-03-17 20:46:38
没有probs。这是我犯了很多次错误,至今仍然有点困倦!你不是一个人 :-)。 – mattjgalloway 2012-03-17 20:47:09
mattjgalloway,谢谢! :) – Oleg 2013-04-09 12:44:26