Сохранение содержимого OSAScriptView в виде файла «.scpt» в предопределенную папку - PullRequest
2 голосов
/ 11 июля 2010

Во-первых, я совершенно новичок в Obj-C, пожалуйста, будьте осторожны со мной: D

Я создаю приложение, которое в основном делает то же самое, что и AppleScript Editor.* Я использовал OSAScriptView, и я хотел бы сохранить содержимое этого OSAScriptView в виде файла .scpt в предопределенной папке.(например, /documents/myscripts/newscript.scpt)

Заранее спасибо!

1 Ответ

2 голосов
/ 11 июля 2010

Класс OSAScript содержит метод, который вы ищете.

@interface OSAScript : NSObject

// Instance Members
- (BOOL)compileAndReturnError:(NSDictionary**)errorInfo;
- (BOOL)isCompiled;
- (BOOL)writeToURL:(NSURL*)url ofType:(NSString*)type error:(NSDictionary**)errorInfo;
- (BOOL)writeToURL:(NSURL*)url ofType:(NSString*)type usingStorageOptions:(OSAStorageOptions)storageOptions error:(NSDictionary**)errorInfo;
- (NSAppleEventDescriptor*)executeAndReturnDisplayValue:(NSAttributedString**)displayValue error:(NSDictionary**)errorInfo;
- (NSAppleEventDescriptor*)executeAndReturnError:(NSDictionary**)errorInfo;
- (NSAppleEventDescriptor*)executeAppleEvent:(NSAppleEventDescriptor*)event error:(NSDictionary**)errorInfo;
- (NSAppleEventDescriptor*)executeHandlerWithName:(NSString*)name arguments:(NSArray*)arguments error:(NSDictionary**)errorInfo;
- (NSAttributedString*)richTextFromDescriptor:(NSAppleEventDescriptor*)descriptor;
- (NSAttributedString*)richTextSource;
- (NSData*)compiledDataForType:(NSString*)type usingStorageOptions:(OSAStorageOptions)storageOptions error:(NSDictionary**)errorInfo;
- (NSString*)source;
- (NSURL*)url;
- (OSALanguage*)language;
- (id)initWithCompiledData:(NSData*)data error:(NSDictionary**)errorInfo;
- (id)initWithContentsOfURL:(NSURL*)url error:(NSDictionary**)errorInfo;
- (id)initWithContentsOfURL:(NSURL*)url language:(OSALanguage*)language error:(NSDictionary**)errorInfo;
- (id)initWithSource:(NSString*)source language:(OSALanguage*)language;
- (id)initWithSource:(NSString*)source;
- (void)setLanguage:(OSALanguage*)language;

Вы можете создать его самостоятельно или использовать класс OSAScriptController, который создаст его автоматически.

...