ほとんどのアプリケーションはハードドライブに何かを保存します。アプリは最後のディレクトリのURLまたはパスをどこかに保存します(この文字列がどこにあるかわかりません)。アプリまたはMacを閉じた後、アプリを再度開いて他の何かを保存します。アプリは、最後に使用されたディレクトリ(終了する場合)またはユーザーのドキュメントフォルダー(dirが終了しない場合)に移動します。Final Cut Proのようないくつかのアプリは、その中で機能した最後のプロジェクトを開きます。保存に使用する最後のディレクトリを取得したいのですが、Objective-Cでどのように行うことができますか?新しいプロジェクトを保存したい。NSSavePanelを保存して作成する前に、最後に使用したディレクトリを取得して、「新しいプロジェクト1」、「新しいプロジェクト2」などのデフォルト名のプロジェクトがあるかどうかを確認します。アプリに対して、「新しいプロジェクト10」などのデフォルト名を使用した最後のファイルを特定します。 "と私のアプリは"新しいプロジェクト11"を提案します
質問する
273 次
1 に答える
2
独自のアプリケーションの最後のディレクトリを取得するには:
NSString* navLastRootDirectory = [[[NSUserDefaults standardUserDefaults] objectForKey:@"NSNavLastRootDirectory"] stringByExpandingTildeInPath] ;
TextEdit などの別のアプリケーションの最後のディレクトリを取得するには:
NSString* pathToTextEditPreferences = [@"~/Library/Preferences/com.apple.TextEdit.plist" stringByExpandingTildeInPath] ;
NSData* data = [NSData dataWithContentsOfFile:pathToTextEditPreferences] ;
NSDictionary* propertyListData = [NSPropertyListSerialization propertyListWithData:data options:NSPropertyListImmutable format:nil error:nil ] ;
NSString* navLastRootDirectory = [[propertyListData objectForKey:@"NSNavLastRootDirectory"] stringByExpandingTildeInPath] ;
于 2012-12-28T01:06:18.980 に答える