首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >视图控制器的UIActionSheetDelegate警告

视图控制器的UIActionSheetDelegate警告
EN

Stack Overflow用户
提问于 2011-03-28 06:16:16
回答 2查看 701关注 0票数 0

我设置了一个只有两个按钮的UIActionSheet弹出窗口,并为其中一个按钮分配了一个操作。应用程序编译、运行并正常工作,但我收到警告:

代码语言:javascript
复制
warning: class 'MyViewController' does not implement the 'UIActionSheetDelegate' protocol

下面是我的行动清单代码:

代码语言:javascript
复制
- (IBAction)saveImage {


    UIActionSheet *saveMenu = [[UIActionSheet alloc] initWithTitle:@"Save Image to Photo Library" 
                                                          delegate:self 
                                                 cancelButtonTitle:@"Dismiss" 
                                            destructiveButtonTitle:nil 
                                                 otherButtonTitles:@"Save Image", nil];

    [saveMenu showInView:self.view];
    [saveMenu release];

以及我在“保存图像”按钮上签名的操作:

代码语言:javascript
复制
-(void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex {

if (buttonIndex == 0) {

    UIImage* imageToSave = [imageView image]; // alternatively, imageView.image

    //Save it to the camera roll / saved photo album
    UIImageWriteToSavedPhotosAlbum(imageToSave, nil, nil, nil);

}

}

我应该忽略这个构建警告吗?或者我如何纠正这个警告?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-03-28 06:27:32

您需要在头文件中以@interface开头的行的花括号({)之前添加<UIActionSheetDelegate>。例如:

代码语言:javascript
复制
@interface MyViewController : UIViewController <UIActionSheetDelegate> {

这将消除该警告。

票数 3
EN

Stack Overflow用户

发布于 2011-03-28 06:28:42

你的错误意味着你没有实现UIActionSheetDelegate协议。要做到这一点,你必须像这样在你的接口中实现它:

代码语言:javascript
复制
@interface MyViewController : UIViewController <UIActionSheetDelegate> {
}

UIActionSheetDelegate协议不需要方法,这就是你的应用不会崩溃的原因。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5452852

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档