首先请允许我说我对COCOA非常新,但我正在学习。我有一个简单的Web浏览器。它加载默认页面,从文本字段中获取URL,甚至还有谷歌搜索。我正在运行的问题是使用当前URL更新textfeild。我的代码如下......
在.h中......
#import <Cocoa/Cocoa.h>
#import <WebKit/WebKit.h>
@interface MustangAppDelegate : NSObject <NSApplicationDelegate> {
NSWindow *window;
NSTextField *googleSearch;
WebView *webView;
NSTextField *addressBar;
}
@property (assign) IBOutlet NSWindow *window;
@property (nonatomic, retain) IBOutlet NSTextField *googleSearch;
@property (nonatomic, retain) IBOutlet WebView *webView;
@property (nonatomic, retain) IBOutlet NSTextField *addressBar;
- (IBAction)googleSearch:(id)sender;
- (IBAction)homeAction:(id)sender;
- (IBAction)addressBar:(id)sender;
@end
在.m中我有一堆,所以我会在这里提出我认为相关的内容......
#import "MustangAppDelegate.h"
@implementation MustangAppDelegate
@synthesize window;
@synthesize googleSearch;
@synthesize webView;
@synthesize addressBar;
- (void)webView:(WebView *)sender didStartProvisionalLoadForFrame:(WebFrame *)frame {
NSURLRequest *currentRequest = [webView request];
NSURL *currentURL = [currentRequest URL];
addressBar.stringValue = currentURL.absoluteString;
}
上述方法的代码永远不会被调用。就像我说的那样,我对OBC&amp; amp;可可,但多年来一直在像Perl这样的程序编程。好像我错过了一些连接,因为我收到上述代码的警告,表明WebView可能无法响应请求。我四处寻找代码,但似乎我仍然缺少一些东西......
由于 麦克
答案 0 :(得分:0)
只需按CTRL +将-frameLoadDelegate从IB拖到应用程序的App Delegate,Mustang 使用-didFinishLoadForFrame作为URL 如果你需要标题,请使用-didRecieveTitle。
希望它有所帮助!