没有财产声明......在界面中找到 - 但有

时间:2011-11-28 18:13:17

标签: xcode macos

我有以下错误:在界面中找不到“窗口”的声明。 虽然当我看到有一个......我可能错过了一些愚蠢的东西,但找不到它。

PlanetoidsAppDelegate.h

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

@interface WebViewExampleAppDelegate : NSObject  {
    NSWindow *window;
    IBOutlet WebView *webView;
}

@property (assign) IBOutlet NSWindow* window;
@property (nonatomic, retain) IBOutlet WebView* webView;

@end

PlanetoidsAppDelegate.m

#import "PlanetoidsAppDelegate.h"

@implementation PlanetoidsAppDelegate

@synthesize window; //<-- error here
@synthesize webView; //<-- error here (well, the same one for webView that is...)

- (void)applicationDidFinishLaunching:(NSNotification *)aNotification {
}

- (void)awakeFromNib {
    NSString *resourcesPath = [[NSBundle mainBundle] resourcePath];
    NSString *htmlPath = [resourcesPath stringByAppendingString:@"/Planetoids/Planetoids_Game.html"];
    [[webView mainFrame] loadRequest:[NSURLRequest requestWithURL:[NSURL fileURLWithPath:htmlPath]]]; //<-- error: webView undeclared, what makes sense considdering the other errors :P
}

@end

这里的任何人都可以看到错误吗?

2 个答案:

答案 0 :(得分:4)

您的界面是WebViewExampleAppDelegate,但您的实施是PlanetoidsAppDelegate。这些必须匹配。

答案 1 :(得分:1)

@interface WebViewExampleAppDelegate : NSObject  in .h

@implementation PlanetoidsAppDelegate in .m

两个完全不同的类。您需要实现WebViewExampleAppDelegate.m并在该类中合成这些方法。

另外,为此:

@interface WebViewExampleAppDelegate : NSObject  {
    NSWindow *window;
    IBOutlet WebView *webView;
}

尝试

 @interface WebViewExampleAppDelegate : NSObject  {
        UIWindow *window;
        IBOutlet WebView *webView;
    }