問題タブ [nspopupbutton]

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 投票する
1 に答える
1270 参照

xcode - 「...class... を型番号にすることはできません」を回避します。エラー

このコードを書きましたが、次のデバッグ エラーが発生します。

コードを修正する方法を教えてもらえますか? エラーを回避するにはどうすればよいですか?

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

objective-c - NSPopUpButton のバインド

OK、私の状況は次のとおりです。

  • があります。NSDictionaryそれを : と呼びましょうmyItem
  • myItem.valueNamesポップアップに表示したい値が含まれています
  • myItem.valuesポップアップが返さなければならない値を含みます (例: valueName[0] -> value[0] など)
  • myItem.value現在の値を含む

どうやってそれをバインドすると思いますか?公式リファレンスを調べても、まだ少しあいまいに見えます...

私は現在バインドしています:

  • myItem.valueNamesContent
  • myItem.valuesContent Objects
  • myItem.valueSelected Value

そして...私が管理したのは、valueNames.

何か案は?

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

objective-c - フォームの読み込み時に選択を NSPopUpButton に復元する

助けてください、これは私を怒らせています:(

私が書いているOSX Cocoaアプリの一部として、NSPopUpButtonを使用して作成/編集しているレコードのタイプを選択するフォームがあります。

バインドを使用してポップアップ ボタンを配列コントローラーにバインドしていますが、選択した値は NSString にバインドされています。

ポップアップにデータが入力され、アイテムを選択してレコードを保存できますが、うまくいかないことが 2 つあります。

1) 選択された値オブジェクトには、アイテムのキーではなくテキスト名が含まれています - コンテンツ オブジェクト バインディングを設定しました

2) フォームのリロード時にポップアップの選択項目を復元できません。

参考になるコード サンプルを次に示します。

@実装スニペット:

@インターフェーススニペット:

インターフェースビルダーで:

acMediaTypes は、mediaTypes という配列コントローラー オブジェクトの参照アウトレットです。 popMediaType は、フォーム上の NSPopUpButton の参照アウトレットです。

私の NSPopUpButton のバインディングは次のように構成されています。

ポップアップが正しく表示され、配列の「名前」部分のテキストが正しく表示されます。

NSLog() のようなものを使用してコードを読み取るselMediaTypeと、たとえば、そのアイテムが選択されている場合は「ビデオ」が表示されます-「ビデオ」である必要があります (辞書の「値」部分の小文字)

問題なく値を sqlite データベースに保存し、ターミナルから sqlite3 を使用して値を検査すると、すべてが保存されます。

テーブルから値をロードすると、設定selMediatypeするだけで NSPopUpButton のアイテムの位置がリセットされると思っていましたが、そうではありません。

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

objective-c - プログラムでメニュー + 項目を NSPopupButton に追加する

sqlite3データベースからデータを取得するカスタムクラス「BackupIncrement」があり、問題なく動作します。NSPopUpButtonに接続されている「pubDefaultIncrement」という名前もありIBます。

popupbutton最終結果は、意味のあるタイトルを入力しmenuitem、データベースからの増分 ID (主キー) である各または値を入力したいということです。

問題のコードは次のとおりです。

SQLは機能し、sqlite3テーブルから各行をフェッチして5回ループします。

これ:

内部に 5 つのメニュー項目オブジェクトを含むメニュー オブジェクトを出力します。

ただし、プロジェクト コードを実行すると、ポップアップ ボタンには 3 つの機能があります。

私はもともと ArrayController と Bindings でこれを試みていましたが、各メニュー項目のタグを適切に機能させることができなかったようです。そういうやり方なら、ビンディングの正しいやり方も喜んで聞きます。

BackupIncrement オブジェクトは 4 つのプロパティを公開しています。

繰り返しますが、理想的には、id には NSPopUpButton に、表示される「コンテンツ」として strIncrementValueDescription を持ち、対応する intIncrementId を「値」として持つ menuitem を設定して、アイテムが選択されたときにタグを取得するか、それに応じてどちらかを取得できるようにします。

誰かが私を正しい方向に向けることができますか?

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

core-data - コア データからのマスター/ディテール NSPopUp の入力

これが私の CoreData モデルです。関係は順不同です。

CDモデル

このモデルに、次のような NSPopUp ボタンのペアを設定したいと思います。

CDモデル

チーム ポップアップが選択されると、プレーヤー ポップアップには、選択されたチームの該当するプレーヤーが表示され、ユーザーによって選択されます。

これが私が試したことです:

CD-moc を使用して、 TeamListPlayerListの 2 つの NSArrayControllers を作成し、どちらもエンティティ モードに設定しました。私のバインディングでは、次のことを行います。

コントローラーキーのArrangeObjects を使用して、チーム ポップアップコンテンツTeamListにバインドします

コントローラーのキーArrangeObjects を使用して、プレーヤーのポップアップコンテンツPlayerListにバインドします

これは、CD の関係に関係なく機能しているようです (プレーヤーのポップアップにすべてのプレーヤーが表示されます)。

関係を与えるために、私は次のことを試みます: コントローラー キー選択とモデル キー パスplayerList を使用して、 PlayerList配列コントローラーコンテンツ セットTeamList
にバインドします。

これは、最初に「選択された」チームのプレーヤーのサブセットを取り込みますが、ユーザーがチーム ポップアップを変更しても再入力されません。

ところで、私はこの(未回答の)質問がここで尋ねられたと思います:
コアデータバインディングで2つのカスケードNSPopUpボタンを作成する方法

これを機能させる方法に関するヒントはありますか?

本当のボーナスは、サブメニューが埋め込まれたポップアップを 1 つだけ持つことです (チーム > プレイヤー)。

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

objective-c - NSPopupButton、マウントされたボリュームのリスト

全て。私はobjective-cが初めてで、PupupButtonを接続して、接続されたUSBハードドライブなどのボリュームのリストを表示する方法に関する質問です...選択可能になります:

MyController.h

これは私の.mにあります:

デバイスのリスト (取り外し可能かどうか) が必要ですが、次のエラーが表示されます。

また、ディスク識別子を plist ファイルに書き込みたいのですが、上記のエラーで停止しました。

何かアドバイス?

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

cocoa - NSPopUpButton のコンテンツを構成する方法

バインディングとコアデータで構成された NSPopUpButton があります。すべてが完全に機能していますが、「リストを編集する」アクションを実装するアイテムを追加したいと思います。

これはバインディングで可能ですか?

答えはノーだと思います。少なくとも完全ではありません。プログラムでボタンにコンテンツを提供し、 Selected Valueのバインディングを維持すると思ったので、これが私が思いついたものです

私がこれで抱えているいくつかの問題

1) を使用してメニュー項目を追加する場合

atIndex に入力された値に関係なく、項目は常にメニュー リストの一番上に表示されます。

2) 「リストの編集...」メニュー項目でアクションを開始したいのですが、これが値として選択されないようにするにはどうすればよいですか?