Objective c 目标C-MacOSX-NSOpenPanel赢得';不要选择任何东西

Objective c 目标C-MacOSX-NSOpenPanel赢得';不要选择任何东西,objective-c,macos,file,cocoa,nsopenpanel,Objective C,Macos,File,Cocoa,Nsopenpanel,我对Cocoa编程还不熟悉,所以请忽略一个事实,这可能太明显了 我希望用户选择一个新扩展名为“.red”的文件。 但NSOpenPanel似乎并不想要同样的东西。它不允许我选择文件或文件夹。 都不是。 没有。 这是我的代码: NSOpenPanel *openFile = [NSOpenPanel openPanel]; NSArray *allowTypes = [NSArray arrayWithObjects:@"red", @"RED", nil]; [open

我对Cocoa编程还不熟悉,所以请忽略一个事实,这可能太明显了

我希望用户选择一个新扩展名为“.red”的文件。 但NSOpenPanel似乎并不想要同样的东西。它不允许我选择文件或文件夹。 都不是。 没有。 这是我的代码:

    NSOpenPanel *openFile = [NSOpenPanel openPanel];
    NSArray *allowTypes = [NSArray arrayWithObjects:@"red", @"RED", nil];

    [openFile setAllowsOtherFileTypes:true];
    [openFile setAllowsMultipleSelection:false];
    [openFile setCanChooseDirectories:false];
    [openFile setCanChooseFiles:true];
    [openFile setAllowedFileTypes:allowTypes];

    if ([openFile runModal] == NSOKButton) {

    }
但当我运行它时,它不会选择任何内容。。。 帮忙

更新: 这是上面代码生成的内容的照片:

我希望能够只选择“Untitled.red”或“RIDE Test.red”文件


还有!我在“导出的UTI类型”下的项目设置中为它导出了一个UTI类型,在文档类型中也有它。

哇!解决这个问题是多么容易,真是令人惊讶!我忘了将函数连接到interface builder中的菜单项

red
是注册的UTI类型吗?嗯,我在项目设置中的“文档类型”和“导出的UTI类型”下添加了.red的文件类型。