您好我正在开发一个基于Web视图的应用程序,我有一个WebController,我有一个包含当前URL的变量。
我最近添加了启动视图的代码,这个工作正常,此视图还包含另一个Web视图,如果我将网站加载到此网页中,此网页视图工作正常:
[[mywebview mainFrame] loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:
[@"http://www.google.com/search?hl=en&q=" stringByAppendingString:@"test"]]]];
但是我试图访问保存当前URL的变量,如下所示:
[[mywebview mainFrame] loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:
[@"http://www.google.com/search?hl=en&q=" stringByAppendingString:currentURL]]]];
然而,当通过链接到WebController来执行此操作时,currentURL似乎没有任何关系,但是当从第一个响应者执行此操作时,此功能完全正常(当然视图不再显示)
我的问题是如何在从WebController链接时获取currentURL变量?
我对可可相对较新,所以如果这是一个简单的问题,我很抱歉!
编辑:从评论中添加
方法initWithWindowController
currentURL
设置为@""
,dealloc
设置为nil
。 currentURL来自其他网络视图,请参见此处:
- (void)webView:(WebView *)wv didStartProvisionalLoadForFrame:(WebFrame *)frame {
if (frame != [self.webView mainFrame])
return;
self.currentUrl = [[[[frame provisionalDataSource] request] URL] absoluteString];
[self retain];
}
我在WebController.h中声明currentURL
@interface WebController : NSObject <DOMEventListener>
{
IBOutlet NSString *currentURL;
}
@property (nonatomic, copy) IBOutlet NSString *currentURL;
@end
我正在尝试在DisplayInView函数中使用WebController.m中的currentURL。
-(IBAction) DisplayInView:(id) sender
{
if ([siteview isInFullScreenMode])
{
[siteview exitFullScreenModeWithOptions:nil];
}
else
{
[[mywebview mainFrame] loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString: [@"google.com/search?hl=en&q="stringByAppendingString:currentURL]]]]; siteview enterFullScreenMode:[[siteview window] screen] withOptions:nil];
}
}
@synthesize siteview;
@end
答案 0 :(得分:0)
我不知道这是您的问题,还是复制和粘贴错误,但您发布的代码是:
[@"google.com/search?hl=en&q="; stringByAppendingString:currentURL]]]];
中间有一个分散的分号。这甚至不应该编译。