我有两个错误:“UIWebview”没有可见的@interface

我有两个错误:没有可见@界面'UIWebView'声明select器'highlightAllOccurencesOfString:'

另一个:没有可见的@界面'UIWebView'宣布select'removeAllHighlights'请别人帮我。

WBSecondViewController.h

#import <UIKit/UIKit.h> @interface WBSecondViewController : UIViewController <UIWebViewDelegate, UIScrollViewDelegate>{ } @property (weak, nonatomic) IBOutlet UIWebView *webView; @property(copy) NSArray *menuItems; @property (weak, nonatomic) IBOutlet UIToolbar *webToolBar; - (IBAction)back:(id)sender; - (IBAction)foward:(id)sender; -(IBAction)searchButtonPressed:(id)sender; -(IBAction)clearHighlights:(id)sender; @end 

WBSecondViewController.m

 #import "WBSecondViewController.h" #import "Word.h" #import "WordController.h" #import "AddWordController.h" #import "WBAppDelegate.h" #import "WBFirstViewController.h" #import "SearchWebView.h" @interface WBSecondViewController () @end @implementation WBSecondViewController - (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil{ self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]; if (self) { self.title = NSLocalizedString(@"Second", @"Second"); self.tabBarItem.image = [UIImage imageNamed:@"second"]; } return self; } - (void)viewDidLoad { UIMenuController *menu = [UIMenuController sharedMenuController]; [super viewDidLoad]; NSURL *theURL = [NSURL URLWithString:@"http://www.google.co.jp"]; [_webView loadRequest:[NSURLRequest requestWithURL:theURL]]; } -(IBAction)searchButtonPressed:(id)sender{ [_webView highlightAllOccurencesOfString:@"cat"]; } -(IBAction)clearHighlights:(id)sender{ [_webView removeAllHighlights]; } 

SearchWebView.h

 #import <Foundation/Foundation.h> @interface SearchWebView : UIWebView - (NSInteger)highlightAllOccurencesOfString:(NSString*)str; - (void)removeAllHighlights; @end 

SearchWebView.m

 #import "SearchWebView.h" @implementation SearchWebView - (NSInteger)highlightAllOccurencesOfString:(NSString*)str { NSString *path = [[NSBundle mainBundle] pathForResource:@"UIWebViewSearch" ofType:@"js"]; NSString *jsCode = [NSString stringWithContentsOfFile:path encoding:NSUTF8StringEncoding error:nil]; [self stringByEvaluatingJavaScriptFromString:jsCode]; NSString *startSearch = [NSString stringWithFormat:@"uiWebview_HighlightAllOccurencesOfString('%@')",str]; [self stringByEvaluatingJavaScriptFromString:startSearch]; NSString *result = [self stringByEvaluatingJavaScriptFromString:@"uiWebview_SearchResultCount"]; return [result integerValue]; } - (void)removeAllHighlights { [self stringByEvaluatingJavaScriptFromString:@"uiWebview_RemoveAllHighlights()"]; } @end 

U有子类uiwebview并将其称为SearchWebView,但是当您在wbsecondviewcontroller中创buildWeb视图的实例时,使用常规的Web视图而不是您创build的子类,而常规的Web视图没有您定义的两个额外的方法对于那个习俗 在wbsecondviewcontroller.h的@interface之上做@class SearchWebView 。 然后在声明属性UiWebView的地方,将其声明为SearchWebView。 在wbsecondviewcontroller的.m文件中,执行#import "SearchWebView.h"