0
我有一個已經處理* .txt文件的基於NSDocument的應用程序。我可以將這些文件拖放到擴展塢中,我的應用程序將正確啓動。用Cocoa打開帶有不同擴展名的文件
現在我想能夠打開* .text文件。所以我說:
<key>CFBundleTypeExtensions</key>
<array>
<string>.txt</string>
<string>.text</string>
</array>
我*的plist
但我無法打開受拖累& *的.text文件在被告席上投下他們。 (我可以做MyApp> File> Open> myFile.text) 我可以照常打開* .txt,並將它們拖放到擴展塢中。
我試過實現這些NSApp委託方法,但現在我得到一個錯誤,我無法打開任何類型的文件。
- (BOOL)application:(NSApplication *)theApplication openFile:(NSString *)filename{
NSURL *url = [NSURL URLWithString:filename];
NSError *error = nil;
[[NSDocumentController sharedDocumentController] openDocumentWithContentsOfURL:url display:YES error:&error];
if (error) {
NSLog(@"error: %@", [error localizedDescription]);
error = nil;
return NO;
}
return YES;
}
- (void)application:(NSApplication *)sender openFiles:(NSArray *)filenames{
for (NSString *filename in filenames) {
[self application:sender openFile:filename];
}
}
錯誤:
typeForContentsOfURL:error: must be overridden for your application to support non-'file:' URLs.
我沒有繼承NSDocumentController,所以我真的需要?或者有沒有更好/更簡單的方法來做到這一點?
在此先感謝
修正了......它沒有工作 – nacho4d 2011-06-06 07:46:24