0

我有一个小问题,希望你能帮助我。我想调用一个子类窗口的实例方法并在那里设置用户界面:

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

@class MainView;//The main window

@interface DownloadedAppDelegate : NSObject <NSApplicationDelegate> {
    IBOutlet MainView*mainview;//the objects are in the same nib, outlet connected with the window
}

@property(nonatomic,retain) IBOutlet MainView*mainview;

@end

.

//AppDelegate.m
#import "MainView.h"

@synthesize mainview;

- (void)applicationDidFinishLaunching:(NSNotification *)aNotification
{
[mainview launched];//But sometimes this code fails, I don't know why
//launched sets up the interface
}

-(void)dealloc {
mainview=nil;
}

MainView 属于 NSWindow。

有什么问题或需要改进的地方吗?我应该在其他地方建立 UI 吗?你知道为什么这段代码不总是有效吗?

4

2 回答 2

0

试着放

[mainview launched];

-(void)awakeFromNib {

}

于 2011-08-10T13:07:54.290 回答
0

使用调试器!启动甚至被调用?

在已启动的调用处设置断点并查看 mainview 的值。它是零?这是因为在 awakeFromNib 之前不能保证连接插座。

于 2011-08-10T14:55:11.050 回答