我的工具栏中的按钮代码面临着一个非常愚蠢的问题。我使用以下代码,我已经在代码中有动作处理函数,但每当我点击按钮时,我收到错误:“ - [UIWebView function_name]:无法识别的选择器发送到实例0x .... “任何人都可以帮忙吗?感谢。
<。>在.h文件中:- (void) goBackHandler;
- (void) goForwardHandler;
- (void) goSafari;
<。>在.m文件中:
UIBarButtonItem *backButton=[[[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"back.png"] style:UIBarButtonItemStylePlain target:self action:@selector(goBackHandler)]autorelease];
UIBarButtonItem *forwardButton=[[[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"forward.png"] style:UIBarButtonItemStylePlain target:self.webViews action:@selector(goForwardHandler) ] autorelease];
UIBarButtonItem *safariButton=[[[UIBarButtonItem alloc] initWithTitle:@"Safari" style:UIBarButtonItemStyleBordered target:self action:@selector(goSafari)]autorelease];
UIBarButtonItem *flex=[[[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:nil]autorelease];
NSArray *arrayOfButtons=[[[NSArray alloc] initWithObjects:backButton,flex,safariButton,flex,forwardButton, nil]autorelease];
[self setToolbarItems:arrayOfButtons];
- (void) goBackHandler
{
if ([self.webViews canGoBack])
{
[self.webViews goBack];
}
}
- (void) goForwardHandler
{
if ([self.webViews canGoForward])
{
[self.webViews goForward];
}
}
- (void) goSafari
{
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:[self.webViews stringByEvaluatingJavaScriptFromString:@"window.location"]]];
}
答案 0 :(得分:1)
可能是因为这条线,
UIBarButtonItem *forwardButton=[[[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"forward.png"] style:UIBarButtonItemStylePlain target:self.webViews action:@selector(goForwardHandler) ] autorelease];
您已将self.webViews
作为目标,但我认为您的意思是self
。
答案 1 :(得分:0)
目标的目标:action:pair是实现action:参数中指定的方法的对象。因此,在这种情况下,您的目标将是每个按钮的自我。