在我的应用程序中,我有一个按钮,按下该按钮会打开一封填写“收件人”和“主题”的电子邮件,但我在这行代码中收到此警告:
mc.mailComposeDelegate = self;
警告说:
Assigning to 'id<MFMailComposeViewControllerDelegate>'from incompatible type 'ViewController *const_strong'
我该怎么办?请非常清楚,我对xCode不太熟练。
在我的应用程序中,我有一个按钮,按下该按钮会打开一封填写“收件人”和“主题”的电子邮件,但我在这行代码中收到此警告:
mc.mailComposeDelegate = self;
警告说:
Assigning to 'id<MFMailComposeViewControllerDelegate>'from incompatible type 'ViewController *const_strong'
我该怎么办?请非常清楚,我对xCode不太熟练。
这个警告表明你没有告诉编译器你的类ViewController
实现了MFMailComposeViewControllerDelegate
协议。
如果您还没有这样做,请从该协议中实现所有必需的方法。在您的情况下,它只有一个 ( – mailComposeController:didFinishWithResult:error:
)。
之后你必须告诉编译器你的类实现了这个协议。您可以通过添加<MFMailComposeViewControllerDelegate>
到@interface
ViewController 来做到这一点。(接口在您的头文件 ViewController.h 中)。
您的界面现在应该类似于以下内容:
@interface ViewController : UIViewController <MFMailComposeViewControllerDelegate>
@property ...
@end
我遇到过同样的问题。问题是我实施了错误的协议,我怀疑你可能也在做同样的事情。
在您的视图控制器头文件中不要写:
@interface ViewController : UIViewController <MFMessageComposeViewControllerDelegate>
相反,使用:
@interface ViewController : UIViewController <MFMailComposeViewControllerDelegate>.