問題タブ [document-based]

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.

0 投票する
12 に答える
16632 参照

cocoa - [NSAlert beginSheetModalForWindow:...] を待ちます。

このように NSAlert を表示すると、すぐに応答が返ってきます。

問題は、これがアプリケーション モーダルであり、私のアプリケーションがドキュメント ベースであることです。次のように、シートを使用して現在のドキュメントのウィンドウにアラートを表示します。

これに関する唯一の問題は、beginSheetModalForWindow:すぐに返されるため、ユーザーに確実に質問して応答を待つことができないことです。タスクを 2 つの領域に分割できれば大したことではありませんが、できません。

(ツリー内にある) 約 40 の異なるオブジェクトを処理するループがあります。1 つのオブジェクトが失敗した場合、アラートを表示してユーザーに続行するか中止する (現在のブランチで処理を続行する) かを尋ねたいのですが、私のアプリケーションはドキュメント ベースであるため、Apple ヒューマン インターフェイス ガイドラインでは、アラートが発生した場合はシートを使用するように指示されています。ドキュメントに固有です。

アラート シートを表示して応答を待つにはどうすればよいですか?

0 投票する
2 に答える
2324 参照

cocoa - NSDocumentサブクラスのクリーンアップコードはどこに配置しますか?

ドキュメントベースのアプリケーションがあり、必要なメソッドをサブクラス化NSDocumentして提供しましたが、ドキュメントを大規模にクリーンアップする必要があります(外部タスクを実行する必要があります)。これを置くのに最適な場所はどこですか?私は次のようないくつかの異なる方法を試しました:

  • close
  • close:
  • canCloseDocumentWithDelegate:shouldCloseSelector:contextInfo
  • dealloc

に入れると、呼び出されることもあればdealloc呼び出されないこともあります(Command + Qを押すと、ドキュメントの割り当て解除がバイパスされるようです)が、このコードが失敗することなく呼び出されることが必須です(プログラムが予期せず終了しない限り)。

0 投票する
3 に答える
1955 参照

cocoa - Cocoa でインポート専用のドキュメント タイプを作成するにはどうすればよいですか?

私のアプリケーションはインポートするが保存しないファイルタイプがあります。ドキュメント タイプにエントリを追加して読み取り専用に設定しましたが、探しているインポート動作が得られません。代わりに、私のアプリはファイルを開くだけで、元のファイルを保存すると、独自のファイル形式で上書きされます。

元のドキュメントを開くのではなく、元のドキュメントのデータを使用して新しいドキュメントが作成されるようにドキュメントまたはドキュメント タイプを設定する方法を教えてください。

0 投票する
4 に答える
3886 参照

cocoa - Cocoa の 1 つのウィンドウに複数のドキュメント

タブ付きインターフェイスを介して単一のウィンドウに複数のドキュメントを表示できるアプリケーションを作成したいと考えています。NSDocument アーキテクチャ (Cocoa ドキュメントベースのアプリケーション テンプレート) を避けるべきですか? 私が知る限り、ドキュメントごとに 1 つ以上のウィンドウしかサポートしていませんが、その逆はありません。

私はしばらくこの問題に取り組んできましたが、NSDocument アーキテクチャ上にアプリケーションの多くを構築しましたが、複数のドキュメントを 1 つのウィンドウに関連付ける良い方法がわかりません。

編集: 基本的なドキュメント ウィンドウに加えて、プロジェクト ドキュメント ウィンドウが必要です。このレベルの複雑さで、NSDocument アーキテクチャをハッキングする価値はありますか? Apple は NSDocument アーキテクチャを使用して (このように動作する) Xcode を作成しましたか?

0 投票する
2 に答える
3960 参照

cocoa - 複数のドキュメント タイプを持つ Cocoa ドキュメント ベースのアプリケーション

Cocoa でドキュメント ベースのアプリを構築したいのですが、さまざまな種類のドキュメントを作成して処理できるようにします。Word、Excel、Powerpoint をすべて 1 つのアプリケーションで考えてみてください。ただし、すべてのウィンドウはドキュメントの種類によって異なります。

ストレージには CoreData を使用します。ドキュメントの種類を指定するフィールドを追加することを考えています。ドキュメントの末尾はすべて同じでなければならないからです。

では、いくつかの独立したアプリを作成することなく、それを行うための最良の方法は何でしょうか? Interface Builder でこれを作成するにはどうすればよいですか? これをどのようにコーディングしますか?

詳細なソースコードなどは必要ありません。これを行う方法の一般的なアイデアだけで、残りを理解します。

前もって感謝します!

0 投票する
2 に答える
785 参照

mysql - Wufoo のようなアプリでは、リレーショナル データベースとドキュメント ベースのデータベースのどちらを使用するのがよいでしょうか?

私は、ユーザーが独自のデータベースを作成し、自動生成されたフォームとビューでレコードを収集/提示できるという点で、Wufoo に似たアプリケーションに取り組んでいます。

すべてのユーザーが異なるスキーマを作成しているため (あるユーザーは自分の野球カード コレクションのデータベースを持ち、別のユーザーはレシピのデータベースを持っている可能性があります)、現在のアプローチでは MySQL を使用して、ユーザーごとに独自のテーブルを持つ個別のデータベースを作成しています。つまり、MySQL サーバーに含まれるデータベースは次のようになります。

main-web-app-db (ユーザー アカウント情報、請求などのテーブルを含む Web アプリ)
user_1_db (baseball_cards_table)
user_2_db (recipes_table)
....

等々。ユーザーが自分の DVD コレクションを追跡するために新しいデータベースをセットアップしたい場合は、「テーブルの作成 ...」を使用して「データベースの作成 ...」を実行します。何らかのデータを入力してから、列を変更したいと判断した場合は、「alter table ....」を実行します。

さて、これを構築していくにつれて、MySQL はこれを処理するのにあまり適していないように思えます。

1)私の最初の懸念は、最初に認証などのためにメインアプリのデータベースに、次にユーザーの個人データベースに、リクエストごとにデータベースを切り替えることは非効率になることです。

2) 私が抱えている 2 番目の懸念は、単一の MySQL サーバーがホストできるデータベースの数に制限があることです。このアプリケーションには 500,000 のユーザー データベースがあると仮定しますが、MySQL はこのように動作するように設計されていますか? それが100万以上だったら?

3) 最後に、この方法はサポートと拡張が困難になるのでしょうか? MySQL がこのように使用されているという話は聞いたことがありません。そのため、これがレプリケーションやその他のスケーリング方法などにどのように影響するか心配しています。

私には、MySQL はこのように使用するために構築されていないように思えますが、私は何を知っていますか? MongoDB、CouchDB、Redis などのドキュメント ベースのデータベースを代替手段として検討してきました。これは、この特定の問題に対するスキーマレス アプローチが非常に理にかなっているように思われるからです。

誰でもこれについてアドバイスを提供できますか?

0 投票する
2 に答える
479 参照

cocoa - ドキュメントベースのアプリケーション、ウィンドウの事前初期化(シリアル、購入、試用版を入力)

NSDocumentをロードする前にいくつかのウィンドウを作成するか、NSDocumentウィンドウとトップメニューをブロックするウィンドウを作成する必要があります。

私はいくつかの解決策を試しましたが、それらは正しく機能しませんでした。

  1. モーダルウィンドウ、次々に。非同期URLConnectionにいくつかの問題があり、NSDocumentコンテンツに他のいくつかの問題がありました。

  2. メニューのないカスタムMainMenu.xibを作成しました。これにより、事前初期化ウィンドウが開きます。ここで、ファイル(アプリケーションに関連付けられている)を開くと、他の問題がいくつか見つかりました-ドキュメントウィンドウが初期化されます。ここでNSDocumentControllerをサブクラス化しようとしましたが、「開いているドキュメント」を一時停止する方法が見つかりませんでした。(とにかくドキュメントを開きたいのですが、初期化前のウィンドウが閉じられた後でのみです)。

では、これを行う正しい方法は何ですか?

0 投票する
1 に答える
505 参照

cocoa - Cocoaドキュメントベースのアプリ:オブザーバーが常に通知を受信するとは限りません

誰かが私の通知の問題を手伝ってくれることを願っています。正しく設定されているように見える通知がありますが、期待どおりに配信されません。ドキュメントベースのアプリを開発しています。デリゲート/ドキュメントクラスは、保存されたファイルから読み取るときに通知を投稿します。

ログに記録すると、保存したドキュメントを開くたびにこの行に到達することがわかります。

DrawViewクラスには、windowOpen通知とbsplinePolyファイルオープン通知のオブザーバーがあります。

振る舞いは奇妙です。メインウィンドウを保存して閉じて再度開くと、「Windowopened」メッセージが表示されますが「savedBsplinecalled」メッセージは表示されません。メインウィンドウを開いたままにして、以前に保存したセッションを開くと、「ウィンドウが開いています」というメッセージと「savedBsplineが呼び出されました」というメッセージが表示されます。

オンラインディスカッションとAppleDevCenterのドキュメントを検索しましたが、この問題は発生していません。