将类发送到不兼容类型'id <uiwebviewdelegate>'的参数警告?</uiwebviewdelegate>

时间:2011-10-12 20:01:59

标签: ios objective-c iphone delegates

当我编写这行代码时,我没想到我的程序会大惊小怪:

[twitterFeed setDelegate:self];

twitterFeed是一个UIWebView设置,可以转到Twitter的移动网站,但这不是重点。我收到错误“发送'SocialView(这个类的名称)到不兼容类型'id'的参数。我不知道如何解决它。有没有办法快速做到这一点,没有重组我的代码太多了?

另外,值得注意的是SocialView是一个UIViewController,如果这对你很重要。

3 个答案:

答案 0 :(得分:10)

您可以在<UIWebViewDelegate>接口声明中添加SocialView,看看是否修复了警告:

@interface SocialView : UIViewController <UIWebViewDelegate> {
...
}

答案 1 :(得分:9)

如果您使用静态方法(使用+),您可以使用演员手动获取警告:

[twitterFeed setDelegate:(id<UIWebViewDelegate>)self];

如果您使用的是实例方法(带 - ),则应遵循chown解决方案。

答案 2 :(得分:0)

您可能想要了解代理的使用方式。 How does a delegate work in objective-C? 确保您知道在使用它们时的操作。