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

デバッガーを使用してください!呼び出されても起動されますか?

起動された呼び出しにブレークポイントを設定し、メインビューの値を確認します。ゼロですか?これは、awakeFromNibまでコンセントが接続されることが保証されていないためです。

于 2011-08-10T14:55:11.050 に答える
0

入れてみて

[mainview launched];

-(void)awakeFromNib {

}

于 2011-08-10T13:07:54.290 に答える