我目前正在Xcode 6.3.2中创建一个简单的Web浏览器。我尝试更改它,以便每当用户导航到新页面时,URL栏都会更改为新页面的地址。但是,这不能正常工作。
我的代码是:
- (void)webView:(WebView *)sender didStartProvisionalLoadForFrame:(WebFrame *)frame
{
// Only report feedback for the main frame.
if (frame == [sender mainFrame]){
NSString *url = [[[[frame provisionalDataSource] request] URL] absoluteString];
[NSTextField setStringValue:url];
}
}
我不断收到错误"没有已知的选择器setStringValue的类方法:"。我是这个东西的新手,所以我真的不知道该怎么做。
我还使用#import "WebKit/WebKit.h"
导入了WebKit.h文件。不知道AppDelegate.m文件中是否有必要,因为我已经在AppDelegate.h中导入了它。
非常感谢任何帮助。谢谢!
答案 0 :(得分:0)
setStringValue:
是一个实例方法,而不是类方法。
这意味着您必须在NSTextField
。
e.g:
NSTextField *tf = [NSTextField new];
[tf setStringValue:@"some string"];
修改强>
如果您尝试让WebView
加载新网址,请执行以下操作:
[[[sender mainFrame] loadRequest:[NSURLRequest requestWithURL:[NSURL urlWithString:url]]];
请参阅WebView
参考:https://developer.apple.com/library/mac/documentation/Cocoa/Reference/WebKit/Classes/WebView_Class/index.html