問題タブ [appkit]
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 - ドキュメントを閉じずに、ドキュメントのウィンドウを閉じて新しいウィンドウを開く
私のアプリはドキュメントベースですが、「ドキュメント」は1つのファイルではなく、2つのフォルダーで構成されています。ドキュメントの初期ウィンドウには、いくつかのファイルピッカーとボタンが含まれています。アクションはそのウィンドウを閉じ、新しいウィンドウを開いて、2つのフォルダー階層間の操作の結果を表示します。(2つのウィンドウのサイズは大幅に異なります。両方のビューをテーブルのタブビューに保持し、それを切り替えるのは簡単ではありません。)
ファイルピッカーウィンドウを閉じて結果ウィンドウを開くアクションメソッドのコードは次のとおりです。
(問題を解決するために失敗した試みで、保持メッセージと解放メッセージを追加しました。)
私の問題は、最初のウィンドウコントローラにドキュメントを閉じないように指示したにもかかわらず、このアクションメソッドが終了した後にドキュメントが解放されて割り当てが解除されることです。(それは問題を解決するための別の失敗した試みでした。)
では、ドキュメントが消滅することなく、同じドキュメントの最初のウィンドウを別のウィンドウに置き換えるにはどうすればよいですか?
macos - デフォルトの URL スキームでの処理方法
アプリで URI (または URL スキーム) のサポートを構築したいと考えています。
私は自分LSSetDefaultHandlerForURLScheme()
で実行し+ (void)initialize
、特定の URL スキームを自分の にも設定しましたinfo.plist
。Apple Script
したがって、 またはのない URL スキームがありますApple Events
。
myScheme:
お気に入りのブラウザーで呼び出すと、システムがアプリをアクティブにします。
問題は、呼び出されたときにスキームを処理する方法です。myScheme:
あるいは、が呼び出されたときにアプリが何をすべきかを定義するにはどうすればよいでしょうか。
実装する必要がある特別な方法はありますか、またはどこかに登録する必要がありますか?
cocoa - Cocoa カスタマイズ システム コンテキスト メニュー
実行中のすべてのアプリケーションのコンテキスト メニューにカスタム要素を追加する必要があります。可能ですか?のようなもの: テキストを選択し、コンテキスト メニューにアプリケーション アイテムだけでなく、アプリケーションの追加アイテムがあり、このアイテムをアプリに接続する必要があります。すべてのアプリケーションで機能する必要があります。
macos - OSX 10.6 でのアプリキットの例
Preview.app を再発明しようとしています。/Developers/Examples/AppKit にあるいくつかの例が役立つと言われています。しかし、私の 10.6 システムでは、そのようなフォルダーはありません。
例は移動しましたか?私のインストールはどういうわけか不完全ですか?10.5 システムからコピーしたサンプルは動作しますか?
ありがとう
objective-c - NSScroller をサブクラス化して、右下隅にある白い四角形を取り除くにはどうすればよいですか?
NSScroller のサブクラスのような iTunes を作成しましたが、NSScrollView または NSTableView で水平スクローラーと垂直スクローラーの両方が表示されると、右下隅に醜い白い四角が残ります。カスタム描画をどこに追加して、それをよりきれいなもので埋めるかについての手がかりを誰かが持っていますか?
objective-c - シート表示時のアニメーション(ココア)
ココアでシート、特にアニメーションを表示するときに質問がありました。素敵なアニメーションがある場合とない場合のシート(プレーンNSWindow / NSPanel)を表示するにはどうすればよいですか?これはNSSavePanel/NSOpenPanelに対して自動的に行われますが、InterfaceBuilderで作成した標準のNSWindow/NSPanelシートに対して適切なアニメーションを機能させることができません。(アニメーションと言うときは、Safariの環境設定の[セキュリティ]タブにある[Cookieを表示]ボタンをクリックします)
ありがとう、レベッカ。
objective-c - NSViewController はバインディングのメモリ リークをどのように回避しますか? 【サンプルアプリあり】
私は独自のバージョンの NSViewController を実装しようとしています (後方互換性のため)、バインディングで問題が発生しました: バインディングはターゲットを保持するため、ファイルの所有者を介してバインドするたびに円を保持します。
だから私はスーパービューからビューを明示的に削除し、トップレベルのオブジェクトを解放するだけでよいと考えました。これでバインディングが処理されます。これは、コントローラーがビューを保持していないためです。どこかに行って。しかし、何らかの理由で、私のビュー コントローラーはまだ解放されません。問題を示すサンプルアプリを次に示します。
http://dl.dropbox.com/u/34351/BindingsLeak.zip
ビルドして起動し、Cmd-K (「編集」メニューの「ニブの作成」) を押して、空のウィンドウに NIB をロードします。Cmd-K をもう一度押して、最初のビュー コントローラー (TestNibOwner) を解放し、新しいビュー コントローラーをロードします。ただし、古いView Controllerの割り当てが解除されることはありません。
チェックボックスの「値」バインディングを削除すると、問題なく解放されます。
release/retain/autorelease のオーバーライドにブレークポイントを設定すると、_NSBindingInfo が TestNibOwner を保持していることがわかりますが、リークの場合には決して解放されません。
誰でもこれを修正する方法を知っていますか?
objective-c - アーロンヒレガス_MacOSX用のCocoaプログラミング_第9章質問
アーロンヒレガスのMacOSX用Cocoaプログラミングの第9章、「挿入時に編集を開始する」のセクションで、彼はまさにそれを行う方法を説明しています。しかし、私を混乱させたのは、彼が他のことをたくさんしたことでした。完全なコードリストは次のとおりです。
これに関して2つの質問があります。
1)あなたはあなたがそれらすべてのことをすることになっていることをどうやって知っていますか?Appleのドキュメントに「チェックリスト」などはありますか?経験?
2)それでもすべてのメソッドを自分で書き直す必要がある場合、これはアレイコントローラーの目的全体を無効にしませんか?
編集:私は主に彼がこれらの行を入れることをどのように知っていたのか疑問に思っています:(他のすべてはかなり基本的で明白なので)
objective-c - Xcode の補完で変数の型が認識されない
私はオブジェクトを作成しています:
(このメニューをプログラムで作成していて、Nib ファイルを使用していないという事実は無視してください。そうすることの欠点は理解しています)
メニューバーにメニューが正しく表示されます。
ただし、次のようなインスタンスメソッドを呼び出そうとすると:
XCode はいくつかの補完を提供しますが、NSMenu からのものはないようです。
私は両方を試しました
インスタンス メソッドは確かに NSMenu.h にあり、前述のとおり、メニューがインストールされます。メニュー項目をインストールしないだけです。それに加えて、補完がないため、明らかに有効であるにもかかわらず、私の appMainMenu が NSMenu オブジェクトとして認識されていないと思います。
私が見逃している明らかなことは何ですか?
iphone - 「bezierPathWithOvalInRect」エラーの引数 1 の互換性のない型
次のコードがあります。
コンパイルすると、「'bezierPathWithOvalInRect' エラーの引数 1 の型に互換性がありません」と表示されます。ただし、これを行うと、機能します。
問題は何ですか?
ありがとう。