2010-12-15 12 views
0

私は現在、ウェブブラウザプロジェクトの作業をApple's Mac Dev siteから行っています。ココアのドキュメントベースのアプリケーションの保存機能を削除

私はプロジェクトを完了しましたが、少し問題があります。ドキュメントベースのCocoaアプリケーションとしてプロジェクトを作成しましたが、Webのテキストフィールドにテキストを入力するたびに、赤色の信号ライトボタンが、保存されていないドキュメントを示す黒い点を中央に表示します。ウィンドウを閉じるかアプリケーションを完全に終了しようとすると、保存されていない変更を警告するテキストエディットやページのような警告が表示されます。問題はあまりありませんが、Cocoaドキュメントベースのアプリケーションのその機能を削除する方法を教えてください。

答えて

2

アプリケーションがドキュメントベースでない場合、ドキュメントベースのアプリケーションはなぜですか?ドキュメントベースのアプリケーションには、本来、opensaveという概念が含まれています。それは彼らが何であるかの基本的な部分です。

いずれにしても、となります。NSDocumentを適切に設定することでこれを回避できます。適切なメソッドをオーバーライドし、その他の場合は変更カウント&のドキュメントの汚れ状態を確認してください。しかしそれは単なる回避策です。 NSDocumentのドキュメントには、必要なすべての情報が含まれています。

より洗練された全体的な解決策は、NSDocumentを使用しないようにあなたのアプリをリファクタリングすることです。複数のウィンドウを作成することは、Cocoaでは非常に簡単です(アクションメソッドがnibファイルをロードするメニュー項目に関連付けられたアクションメソッドです;正しく覚えていれば、まだNSWindowControllerを使用することもできます)。

1

簡単な解決策は、isDocumentEditedメソッドをオーバーライドして常にNOを返すことです。

- (BOOL)isDocumentEdited { 
    return NO; 
} 
関連する問題