2012-01-02 10 views
0

私は目標Cで新しいです、私は保存するパネル上の警告を作成する必要があります存在するファイルを上書きするかどうか、同じファイル名を持つディレクトリにファイルを保存するときにテキストエディタユーザーがキャンセルを選択したときに警告を消して、ユーザーが警告を消したときに消えてからパネルを保存するときに、置き換えまたはキャンセルを求める保存パネルに保存します。パネルを保存しないで消してから警告を表示しない。助けてくださいNSAlertオーバーNSSavePanel

+0

NSSavePanelは、内蔵のこの機能を備えています。 .. –

+0

関数の名前 – Kosar

+0

関連する関数はありません。それは無料です。 NSSavePanelを使用してファイルを保存する場所をユーザーに選択させると、自動的に警告が表示され、選択したパスがすでに存在する場合は確認が求められます。本当に、ちょうどそれを試してみてください... –

答えて

1

このコードはテスト済みであり、動作します。ファイルがすでに存在する場合、警告が表示されます。保存パネルと、ファイル交換警告(日本例えばスクリーンショットを参照)は、Mac OS Xを使用するように設定されているどんな言語で表示されます。

- (IBAction)saveTestFile:(id)sender 
{ 
    NSString *saveString = [NSString stringWithFormat:@"Hello World, it's %@!", [NSDate date]]; 
    NSSavePanel *savePanel = [NSSavePanel savePanel]; 
    if ([savePanel runModal] == NSFileHandlingPanelOKButton) 
    { 
     NSURL *saveURL = [savePanel URL]; 
     NSError *error = nil; 
     if (![saveString writeToURL:saveURL atomically:YES encoding:NSASCIIStringEncoding error:&error]) 
     { 
      NSLog(@"Unable to save file: %@", error); 
     } 
    } 
} 

Japanese Save Panel enter image description here

+0

私のエラーが見つかりました、私のエラーは、私はfiletypeを決定していないと私はファイルに拡張子を追加した別の手順です。例。私のファイルを "my file"という名前の保存パネルで保存した後、プロシージャを使用して "my file.txt"をextentionと一緒に追加します。次回は、「my file」が「my file.txt」と異なるため、保存パネルが警告しませんでした。私はデフォルト言語ではなく、私の言語でカスタムアラートが必要です。例 "英語"はデフォルトですが、私の言語は "クルド語" – Kosar

+0

あなたはそれが働いていることを聞いてうれしい! Mac OS X自体がクルド語にローカライズされている場合は、システム環境設定でそれを有効にできるはずです。残念ながら、OS Xがクルド語をサポートしているかどうかはわかりません... –

+0

残念ながらOS Xはクルド語をサポートしていませんが、クルドの手紙をサポートしています。自己、初心者にとっては難しいと思います。 – Kosar

関連する問題