1

我花了大约一整天的悲伤试图解决这个问题,这是我最后的手段。我的 OS X 应用程序中有一个网络视图。我制作了一个网络浏览器,它与导航箭头和所有功能都很好,但是当我尝试制作主页(谷歌)时,它不会加载到 WebView 上(在代码中称为 webber)。我确保所有插座都已连接。这是我的 AppDelegate.h 代码:

#import <Cocoa/Cocoa.h>
#import <WebKit/WebKit.h>

@interface AppDelegate : NSObject <NSApplicationDelegate>{
    NSWindow *window;
    NSTextField *urlBox;
    IBOutlet WebView *webber;
    IBOutlet NSTextField *googleSearchField;
}

-(IBAction)search;

@property (assign) IBOutlet NSWindow *window;

@end

这是 AppDelegate.m 的代码:

#import "AppDelegate.h"

@implementation AppDelegate

- (void)windowControllerDidLoadNib:(NSWindowController *)windowController{
    NSLog(@"Nib loaded");
    NSString *urlText = @"http://www.google.com";
    [[webber mainFrame] loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:urlText]]];
}

-(IBAction)search
{
    NSString *searchString = [googleSearchField stringValue];
    NSString *searchURL = [NSString stringWithFormat:@"http://www.google.com/search?q=%@", searchString];
[[webber mainFrame] loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString: searchURL]]];
}

@end

我非常感谢任何形式的帮助,我非常绝望。请记住,我才 6 年级,我正在寻找分步指南或纯代码。感谢您的时间!在此处下载 Xcode 项目:http: //www.cadenfarley.com/cobra/Download.html向下滚动直到您看到“Xcode project here”

4

1 回答 1

1

你的windowControllerDidLoadNib:方法永远不会被调用,因为你没有NSWindowController任何地方。将该方法重命名为- (void)awakeFromNib,它应该可以工作。

于 2013-01-21T01:14:52.743 回答