4

在我的应用程序中,我有一个按钮,按下该按钮会打开一封填写“收件人”和“主题”的电子邮件,但我在这行代码中收到此警告:

mc.mailComposeDelegate = self; 

警告说:

Assigning to 'id<MFMailComposeViewControllerDelegate>'from incompatible type 'ViewController *const_strong'

我该怎么办?请非常清楚,我对xCode不太熟练。

4

2 回答 2

5

这个警告表明你没有告诉编译器你的类ViewController实现了MFMailComposeViewControllerDelegate协议。

如果您还没有这样做,请从该协议中实现所有必需的方法。在您的情况下,它只有一个 ( – mailComposeController:didFinishWithResult:error:)。

之后你必须告诉编译器你的类实现了这个协议。您可以通过添加<MFMailComposeViewControllerDelegate>@interfaceViewController 来做到这一点。(接口在您的头文件 ViewController.h 中)。

您的界面现在应该类似于以下内容:

@interface ViewController : UIViewController <MFMailComposeViewControllerDelegate>

@property ...

@end
于 2012-09-22T22:06:06.147 回答
3

我遇到过同样的问题。问题是我实施了错误的协议,我怀疑你可能也在做同样的事情。

在您的视图控制器头文件中不要写: @interface ViewController : UIViewController <MFMessageComposeViewControllerDelegate>

相反,使用: @interface ViewController : UIViewController <MFMailComposeViewControllerDelegate>.

于 2013-03-17T09:38:11.933 回答