Open NSWindowController以ARC语义问题结束

时间:2014-08-12 17:15:37

标签: objective-c xcode macos automatic-ref-counting nswindowcontroller

使用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;

注意:我查看了类似的问题,但所有答案都有所不同,没有一个对我有用(有些甚至过时了)。

1 个答案:

答案 0 :(得分:1)

GenerateViewController从其名称告诉它是一个视图控制器,因此派生自 NSViewController 。 从intent(打开一个新窗口)开始,它应该来自 NSWindowController ,它提供了ARC告诉的两个方法: initWithWindowNibName: showWindow: