새 xib 파일로 NSWindowController 서브 클래스를 구현하려고하는데 많은 책을 읽고 StackOverflow에서 연구했지만 제공되는 단계 중 아무 것도 내 창을 만들지 못했습니다. show, subclass 코드가 실행되지 않았다. 새 xib 파일의 File 's Owner가 "LogNavigatorController"로 설정되고 창과 해당 내용에 대한 연결이 설정되었습니다.xib 파일로 NSWindowController 서브 클래스를 올바르게 구현하는 방법
내 AppDelegate.h :
#import <Cocoa/Cocoa.h>
@class LogNavigatorWindowController;
@interface AppDelegate : NSObject <NSApplicationDelegate>
{
LogNavigatorWindowController *logsWindowController;
}
@end
내 AppDelegate.m :
#import "AppDelegate.h"
#import "LogNavigatorWindowController.h"
@implementation AppDelegate
- (void)applicationDidFinishLaunching:(NSNotification *)aNotification
{
// Insert code here to initialize your application
logsWindowController = [[LogNavigatorWindowController alloc] initWithWindowNibName:@"LogNavigatorWindowController"];
[logsWindowController showWindow:self];
}
@end
내 LogNavigatorWindowController.h :
#import <Cocoa/Cocoa.h>
@interface LogNavigatorWindowController : NSWindowController
{
NSArray *directoryList1;
NSArray *directoryList2;
NSMutableArray *directoryList;
NSMutableArray *filePaths1;
NSMutableArray *filePaths2;
}
@property (assign) IBOutlet NSWindow *window;
@property (weak) IBOutlet NSTableView *logsTableView;
@property (unsafe_unretained) IBOutlet NSTextView *logsTextView;
@property (assign) IBOutlet NSArrayController *LogListController;
@property (retain) NSMutableArray *logsArray;
- (void) myDirectoryLogFunction;
@end
내 LogNavigatorController.m :
#import "LogNavigatorWindowController.h"
@interface LogNavigatorWindowController()
@end
@implementation LogNavigatorWindowController
@synthesize logsTableView;
@synthesize logsTextView;
@synthesize window;
- (id)init
{
self = [super initWithWindowNibName:@"LogNavigatorWindowController"];
[self loadWindow];
[self showWindow:@"Log Navigator"];
[self.window makeKeyAndOrderFront:nil];
if (self)
{
// Initialization code here.
[self myDirectoryLogFunction];
}
return self;
}
- (void)windowDidLoad
{
[super windowDidLoad];
// Implement this method to handle any initialization after your window controller's window has been loaded from its nib file.
}
- (void) myDirectoryLogFunction
{
NSLog(@"Code execution test successful");
}
@end
'NSWindowController'는 이미'window' "property"를 가지고 있습니다. 그래서 당신 자신이 공급하는 것이 문제입니다. – trojanfoe
감사합니다. @trojanfoe 속성과 구현 코드를 제거했습니다 (합성). 여전히 주사위가 없습니다. –