。[NSOpenPanel directoryURL]给出错误:'NSOpenPanel'没有可见的@interface声明选择器'directoryURL:'

时间:2015-09-27 20:20:46

标签: objective-c macos cocoa nsopenpanel

我正在使用Xcode,使用基本SDK和部署目标构建:OS X 10.8,尝试使用offical documentation所说的[NSOpenPanel directoryURL]

  

在OS X v10.6及更高版本中可用

但我收到错误:

  

ARC语义问题 - 'NSOpenPanel'没有可见的@interface声明选择器'directoryURL:'

代码:

#import <Cocoa/Cocoa.h>
// #import <NSOpenPanel.h> // No good
@import AppKit;

void fileOpen()
{
    NSOpenPanel *openPanel = [NSOpenPanel openPanel];
    // [openPanel setDirectory:@""]; // works, but deprecated in OSX 10.6
    [openPanel directoryURL: [NSURL URLWithString:@"file:///path/"]];
    // ...
} 

那我在这里做错了什么?

1 个答案:

答案 0 :(得分:3)

sap.ui.define([ "sge/apps/app/controller/BaseController" ], function (BaseController) { "use strict"; return BaseController.extend("sge.apps.app.controller.NotFound", { onInit: function () { console.log("onInit NotFound.view.xml"); }, onAfterRendering: function () { console.log("onAfterRendering NotFound.view.xml"); } }); }); 是一个属性,不会像您最初猜测的那样采用字符串参数。这就是您在尝试解析directoryURL选择器时看到错误的原因。

directoryURL:'属性确实有一个getter和setter。

尝试使用:

directoryURL

或:

[openPanel setDirectoryURL: [NSURL URLWithString:@"file:///path/"]];