首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用UIWebViewDelegate获取代码中的两个错误

使用UIWebViewDelegate获取代码中的两个错误
EN

Stack Overflow用户
提问于 2012-01-16 01:04:45
回答 2查看 679关注 0票数 0

我对这段代码有一个问题:

标题:

代码语言:javascript
复制
@interface ViewController : UIViewController {
    IBOutlet UITextField *field;
    IBOutlet UIWebView <UIWebViewDelegate> *web;
}

实施:

代码语言:javascript
复制
@protocol UIWebViewDelegate;

- (void)viewDidLoad{
    //some other code here
    webView = [[UIWebView alloc] init];
    webView.delegate = self; 
}

我有两个问题。第一个是webView = [[UIWebView alloc] init];</code>the compiler generates the following message:Incompatible pointer types assigning to 'UIWebView*_strong' from 'UIWebView'*'.行上的

The second problem is that I get an error on the line <code>webView.delegate = self;</code> that says:‘将ViewController*const_strong传递给不兼容类型'id'`的参数。

有什么想法吗?任何帮助都将受到欢迎。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-01-16 04:36:49

您已将您的webView ivar声明为UIWebViewDelegate。你的意思是让ViewController成为UIWebViewDelegate

代码语言:javascript
复制
@interface ViewController : UIViewController <UIWebViewDelegate>
票数 0
EN

Stack Overflow用户

发布于 2012-01-16 01:31:25

您使用的是NIB吗?因为您在头文件中使用了一个IBOutlet,这意味着您有一个NIB连接到它。在这种情况下,您的web视图将已经创建,并且您不需要alloc/init调用。

另外,您为什么要这样做:

代码语言:javascript
复制
@protocol UIWebViewDelegate;

当您想要声明一个协议时,而不是当您想要声明一个类符合它时,就会使用@protocol。也许可以在这里快速浏览一下Apple的文档:

http://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/ObjectiveC/Chapters/ocProtocols.html

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

https://stackoverflow.com/questions/8871561

复制
相关文章

相似问题

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