使用XCode处理Mac 10.9项目时,我在mainWindow.xib上留下了一个按钮。当我点击它时,我想打开一个新窗口,它有自己的.m / .h / .xib(称为GenerateViewController)。
在AppDelegate.h中我添加了这些行:
#import "GenerateViewController.h"
@interface AppDelegate : NSObject <NSApplicationDelegate>
@property (nonatomic,strong) GenerateViewController* generateViewController;
@property (assign) IBOutlet NSWindow *window;
@end
在AppDelegate.m中我有:
- (IBAction)clickGenerateNewTable:(id)sender {
self.generateViewController = [[GenerateViewController alloc] initWithWindowNibName:@"GenerateViewController"];
[self.generateViewController showWindow:nil];
}
我的最后两行(从self.generateViewController开始)有一个ARC语义问题:没有可见的@interface用于&#39; GenerateViewController&#39;声明选择器&#39; initWithWindowNibName:&#39;
注意:我查看了类似的问题,但所有答案都有所不同,没有一个对我有用(有些甚至过时了)。
答案 0 :(得分:1)
GenerateViewController从其名称告诉它是一个视图控制器,因此派生自 NSViewController 。 从intent(打开一个新窗口)开始,它应该来自 NSWindowController ,它提供了ARC告诉的两个方法: initWithWindowNibName:和 showWindow: