.[NSOpenPanel directoryURL] выдает ошибку: Нет видимого @interface для 'NSOpenPanel' объявляет селектор 'directoryURL:'
Я использую XCode, сборка с базовым SDK и целью развертывания: OS X 10.8
, пытаясь использовать [NSOpenPanel directoryURL]
что официальная документация гласит
Доступный в OS X v10.6 и позже
Но я получаю ошибку:
Семантическая проблема ARC - нет видимого @interface для 'NSOpenPanel', объявляет селектор '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 ответ
Решение
directoryURL
является свойством и не принимает строковый аргумент, как вы изначально предполагали. Вот почему вы видели ошибку при попытке решить directoryURL:'
селектор.
directoryURL
у свойства есть геттер и сеттер.
Попробуйте использовать:
[openPanel setDirectoryURL: [NSURL URLWithString:@"file:///path/"]];
или же:
openPanel.directoryURL = [NSURL fileURLWithPath:@"path"];