問題タブ [nsdocument]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
cocoa - ドキュメント nib からメイン nib のアイテムにアクセスする方法は?
インスペクタ ウィンドウがある NSDocument ベースのアプリケーションを作成しています。このインスペクタ ウィンドウは、私のメイン nib である Pwnshop.nib の一部です。「Document.nib」という別のペン先があります。これはドキュメント ウィンドウです。Interface Builder のインスペクターのように、アクティブなドキュメント ウィンドウに基づいてインスペクターを変更できるようにしたいと考えています。問題は、別の nib のオブジェクトにアクセスしたいということです。複数のドキュメント ウィンドウがありますが、インスペクタ ウィンドウは 1 つだけです。
誰でも私を助けることができますか?
cocoa - NSDocument でのウィンドウ イベントのキャプチャ
TextView を備えたドキュメントベースの Cocoa アプリケーションがあり、そのクリックをキャプチャしたいので、mouseDown、mouseUp などの Window イベントをインターセプトして、それらを TextView に関連付けようとしています。
私は2つのことを試しました:
1.) TextView をドキュメントの Window の最初の最初の応答者にし、ドキュメント クラスの mouseDown イベントをオーバーライドしましたが、ヒットしません。
2.) NSWindow をサブクラス化し、mouseDown をオーバーライドし、そのサブクラスをドキュメント xib の Window のクラスに設定しました。そのイベントもヒットしませんでした。
ウィンドウのデリゲートが、NSDocument サブクラスであるファイルの所有者に既に設定されていることに気付きました。ドキュメント サブクラスが Window のデリゲートである場合、NSDocument でイベントが発生しないのはなぜですか?
cocoa - applicationDidFinishLaunching: NSDocument が NIB からロードされた後に実行
間違った方向に進んでいるのかもしれませんが、私のアプリケーションにはNSMenuItem
、メイン メニューにエントリを追加するロード可能なバンドルがあります。
すべてのバンドルをループして、追加するメニュー項目を決定し、それに応じて追加します。
問題は、そのようなコードをドキュメントベースのアプリケーションのどこに置くべきかということです。
最初はそれを NSDocument サブクラスのメソッドに入れましたが、これには、同じ項目を何度も-windowControllerDidLoadNib:
繰り返すという望ましくない副作用がありました。これは、開いたドキュメントの数です (つまり、コードを配置するための実行場所ではありません)。 .n
n
それで、コードをNSApplicationDelegate
's-applicationDidFinishLaunching:
メソッドに入れてみました。つまり、一度しか実行されませんが、実行前に (または少なくとも終了前に) ドキュメントが表示されて表示されるという問題に直面しています -applicationDidFinishLaunching:
。
起動時にメニュー項目をドキュメントベースのアプリケーションに動的に追加するコードを配置するのに一般的に適切な場所はどこですか?
cocoa - 複数のドキュメントが同時に開き、それぞれが異なるメニュー項目の状態になっている
Cocoa ドキュメント ベースのアプリケーションで、メニュー バーのメニュー項目の状態を現在表示されているドキュメントと同期させる最善の方法は何ですか?
たとえば、[定規を表示] (オフ状態) および [定規を非表示] (オン状態) メニュー項目を使用して非表示/表示できる定規ビューを含むドキュメントがあるとします。ユーザーは同時に 2 つのドキュメントを開いています。彼/彼女は 1 つの文書では定規を非表示にしましたが、別の文書では非表示にしていません。ユーザーがドキュメント間を移動するとき、メニュー項目は、アプリケーション全体ではなく、そのドキュメントの状態を反映する必要があります。
どうすればこれをきれいに行うことができますか?私はグーグルで検索しましたが、これを行うための事前定義された「すぐに使える」方法があるようには見えません。NSDocument に、そのようなロジックを追加できる「didRegainFocus」タイプのメソッドがあればいいのですが。
実際の実装は、これらの特定のメニュー項目を扱う NSDocument 内の NSViewController であるため、少しトリッキーです。
MyDocument
が現在アクティブなドキュメントである場合、アプリケーションのメイン メニューでいくつかの の状態を確認するためのメソッドが必要ですmyCustomizedTextViewController
。NSMenuItem
一人は正真正銘の支配者です。もう 1 つは同様の一時的な設定です。
objective-c - ドキュメントベースのアプリケーションか、そうでないか?
ダンス アカデミーの管理に使用できるデスクトップ アプリを作成しています。私のコアデータモデルには、学生、教師、クラス、請求書などのエンティティと、それらの間のさまざまな関係が含まれています。
私が計画している UI は、左側に iTunes のような OutlineView を持つ垂直分割ビューで構成されています。そのアウトライン ビューで [Students] 項目をクリックすると、右側のパネルの内容が ManageStudents NIB からスワップインされます。同様に、アウトライン ビューで [Invoices] 項目をクリックすると、現在のビューが ViewInvoices ビューに置き換えられます。かなり単純ですよね?
私の大きなジレンマは、ドキュメントベースに移行するかどうかです。私のすべての読書は、ユーザーが一度に複数のエンティティのインスタンスを開いている場合、それが良い選択であることを示唆しています。ここではそうではありません - 開いているメイン ウィンドウのインスタンスは常に 1 つだけです。
一方で、私が見た NSDocument ベースの例には多くの利点があることがわかります (正直なところ、Web で見ることができるほとんどの例はドキュメント ベースのようです)。この道をたどるとしたら、基本エンティティごとにドキュメント タイプを定義するのか、それとも 1 つの制御ドキュメントだけを定義するのかが気になります。
どんなガイダンスもありがたく受け取られます。あるいは、NSDocument が適切である/不適切である場合について具体的なアドバイスを提供する場所へのポインタ (Apple の「ドキュメントベースのアプリケーションの概要」は、「ワード プロセッサとスプレッドシート アプリケーションはドキュメントベースのアプリケーションの 2 つの例です」と有益にアドバイスしています。もう少し洞察力があり、他の実世界のアプリケーションに関連するもの)
objective-c - ドキュメントベースのアプリケーション、アイデアにタブを導入したいとお考えですか?
私はドキュメントベースのアプリケーションを持っています。これまでのところ、ドキュメントごとに新しいウィンドウでドキュメントを編集するだけです。
現在、それ自体がドキュメントであるプロジェクトを作成する機能を追加しています。NSDocument
そのプロジェクトには、ドキュメントエディタが新しいウィンドウで開かれるのではなく、プロジェクトウィンドウに埋め込まれることを除いて、(うまくいけば)既存のサブクラスと同じコードを使用して編集できるファイルのリストが含まれます。
たとえば、Xcodeは、ドキュメントごとに新しいウィンドウを使用せずに、エディタペインで各ファイルをどのように開きますか?シングルウィンドウのものを除いて、他のドキュメントベースのアプリケーションとほとんど同じように動作するため、ドキュメントベースのアーキテクチャを使用していると思います。
NSDocument
(ドキュメントによると)マストには独自のウィンドウコントローラーが必要なので、そのウィンドウを別のウィンドウ内(つまりプロジェクトウィンドウ内)に「埋め込み」、クロムを非表示にして単一のウィンドウの効果を与えることは可能ですか?
編集:CocoaDevに関するこのディスカッションは本当に便利に見えます:すべてのドキュメントに1つのウィンドウを備えたドキュメントベースのアプリ
cocoa - NSDocument writeToURL :、単純なhtmlドキュメントの保存
HTMLファイルを保存するための保存機能を実装しようとしています。現在、保存しようとするとエラーが返されます。私のコードは
保存しようとすると、エラーが返されます-[NSConcreteMutableData writeToURL:ofType:error:]: unrecognized selector sent to instance 0x10016d900
-[NSConcreteMutableData writeToURL:ofType:error:]: unrecognized selector sent to instance 0x10016d900
。プレーンなNSStringを使用するのに疲れましたが、それも機能しませんでした。
助けてくれてありがとう
cocoa - Cocoa でドキュメントを開く
ドキュメントを開くには、次の方法があります。
ドキュメントとそのビューはYES
が返されるまで読み込まれないようですが、まだ読み込まれていないため、テキスト ビューのコンテンツを設定できません。これに対する回避策を知っている人はいますか?
前もって感謝します
iphone - NSDocumentDirectoryからデータを読み取る方法
みなさん、こんにちは。ユーザーのサウンドを録音してNSDocumentDirectoryに保存するアプリケーションに取り組んでいます。データファイルはうまく保存されていますが、問題はそれらのファイルを再生したいということです。これにテーブルビューを使用してデータを入力しています。 NSDocumentDirectory内のファイルの数。ただし、表には現在のサウンドファイルのセルが1つしか表示されていません。どこかで間違いを犯しています。助けてください。私はこのコードを使ってプレイしています。
ここで、recorderFilePathはファイルのパスです。パスは、NSDate frmattorの助けを借りて毎回新しいものですが、DocumentDirectoryにあるすべてのファイルをテーブルビューに入力する方法がわかりません。
お願いします-2助けてください...私はこのテクノロジーに不慣れです。
よろしくお願いします.......。
objective-c - レスポンダーチェーンを調べる方法は?
ドキュメントベースのアーキテクチャを使用して、単一のウィンドウ内でクレイジーな複数のドキュメントを処理していますが、95% 完了しています。
親ドキュメントを開いてウィンドウを構成し、「子」ドキュメントのリストを提供する、この 2 層ドキュメント アーキテクチャがあります。ユーザーが子の 1 つを選択すると、そのドキュメントが同じウィンドウ コントローラーで開かれNSTextView
、ウィンドウに が配置されます。ウィンドウ コントローラのドキュメントの関連付けが変更され、「編集されたドット」とウィンドウ タイトルが現在選択されているドキュメントを追跡するようになります。Xcode プロジェクトと、そのプロジェクト内のさまざまなファイルを編集するとどうなるかを考えてみてください。
コードを疑似形式にするために、このようなメソッドは、子ドキュメントが開かれたときに親ドキュメントで呼び出されます。
これは機能し、編集中のドキュメントに変更ドットとタイトルが続くため、ウィンドウコントローラーはいつでも正しいドキュメントの関連付けを持っていることがわかります。
ただし、保存を押すと(CMD + S、またはファイル->保存/名前を付けて保存)、現在のドキュメントではなく親ドキュメントを保存します([[NSDocumentController sharedDocumentController] currentDocument]
ウィンドウタイトルと変更ドットで報告および示されます)。
ドキュメントを読むNSResponder
と、チェーンは次のようになります。
現在のビュー -> スーパービュー (繰り返し) -> ウィンドウ -> WindowController -> ドキュメント -> DocumentController -> アプリケーション。
ドキュメント ベースのアーキテクチャがレスポンダ チェーンをどのように設定しているか (つまり、どのようにチェーンに配置NSDocument
しNSDocumentController
ているか) がわからないので、デバッグしたいと思いますが、どこを見ればよいかわかりません。いつでもレスポンダー チェーンにアクセスするにはどうすればよいですか?