2

NSArrayControllerとcocoaバインディングを使用した単純なアプリケーションを試しています。アプリケーションには、列が1つしかないテーブル、レコードを追加および削除するための2つのボタン「+、-」、入力されたレコードの数とこれらのレコードの合計を表示する2つのテキストフィールドが含まれます。

ユーザーが数字のみを入力できるようにするために、NSTextFieldセルにNSNumberFormatterを割り当てました。

モデルクラス: "Transaction"には、"amount"という1つのプロパティのみが含まれています。@propertyと@synthesizeを使用して、アクセサメソッドを宣言および定義しました。

したがって、全体として、次のタスクを実行したいと思います。

  1. ユーザーがテーブルの各行の番号を挿入、編集、変更できるようにします。
  2. テキストフィールドに入力されたレコードの数を表示します。
  3. 他のテキストフィールドに入力された数値の集計を表示します。

私は1ポイントを達成することができます。ココアバインディングを介して、しかし私が2番目と3番目のポイントを実装しようとしたとき、それは意図したように機能していません。

私は2番目と3番目のポイントのために次のことをしました。

2番目のポイントの場合...1。テキストフィールドのバインディング設定。アレイコントローラーに値をバインドしています。2.モデルのキーパスを@count.amountとして設定します

for 3rd pt....1.テキストフィールドのバインディング設定。アレイコントローラーに値をバインドしています。2.モデルのキーパスを@sum.amountとして設定します

誰かが私が間違っているかもしれない場所や私の要件を達成するための他の方法を私に提案できますか?

ありがとう、

ミラジ

4

1 に答える 1

2

この問題は解決されました。私はそれを解決するために次のことを行いました。

  1. arrayControllerの「arrangedObjects」にバインドされた@countを使用
  2. 合計部分の場合:i。テキストフィールドの値プロパティをトランザクション配列コントローラーにバインドしました。ii。コントローラキーを--arrangedObjectsとして設定しますiii。モデルのキーパスを-@sum.amountとして設定します

乾杯....ミラジ

于 2010-07-14T04:30:07.543 に答える