首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >不兼容的指针类型将“Class”发送到类型为“id<UIActionSheetDelegate>”的参数

不兼容的指针类型将“Class”发送到类型为“id<UIActionSheetDelegate>”的参数
EN

Stack Overflow用户
提问于 2011-08-09 10:26:18
回答 3查看 20.3K关注 0票数 13

我收到警告,不兼容的指针类型发送'Class‘到'id’类型的参数,在下面的“委托:自我”行:

代码语言:javascript
复制
    + (SHKActionSheet *)actionSheetForType:(SHKShareType)type
{
    SHKActionSheet *as = [[SHKActionSheet alloc] initWithTitle:SHKLocalizedString(@"Share")
                                                      delegate:self
                                             cancelButtonTitle:nil
                                        destructiveButtonTitle:nil
                                             otherButtonTitles:nil];
    as.item = [[[SHKItem alloc] init] autorelease];
    as.item.shareType = type;

此警告在ShareKit中,如果有人知道如何修复它,请让我知道!

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-08-09 10:29:21

您正在尝试以静态方法传递self参数。这是不正确的,因为在静态方法中没有这个对象的特定实例。使其成为非静态方法或将该类的某个实例作为委托传递。

票数 21
EN

Stack Overflow用户

发布于 2013-08-19 22:06:55

在使用静态类时,您可以手动获得警告:

代码语言:javascript
复制
delegate:(id<UIActionSheetDelegate>)self
票数 9
EN

Stack Overflow用户

发布于 2011-11-04 03:03:50

尝试使用nil而不是self (Xcode4.2 iOS 5)。

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

https://stackoverflow.com/questions/6990783

复制
相关文章

相似问题

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