0

Interface Builder 内に、バニラの NSArrayController にバインドされた 2 つの列を持つ NSTableView があります。NSArrayController には、アプリケーション デリゲートの NSMutableArray にバインドされた Content Array があります。さらにバインディングを使用して、バインディングによる行の追加と削除をセットアップしました (魔法です!)。

私が今直面している問題は、現在選択されている NSTableView 行を取得し、そのインデックスを使用して NSArrayControllers に関連付けられた配列に格納されているオブジェクトを検索したいということです。私が直面している問題は、NSTableView にアクセスしようとしていることです。

アプリケーション デリゲート内で次のコードを使用すると、アプリケーションがクラッシュします。

NSLog(@"%@", [timersTableView selectedRow]);

同様に、これも私のアプリケーションをクラッシュさせます:

NSLog(@"%@", [timersController selectionIndex]);

上記のコードの単純さを考えると、私は根本的に間違ったことをしているに違いありませんか?

4

1 に答える 1

0

-selectedRow と -selectionIndex は両方とも NSInteger を返します。これはネイティブ幅の整数にすぎませんが、%@ フォーマット文字列指定子はオブジェクトを印刷するためのものです。NSInteger を出力する場合は、%ld に置き換えます。

于 2010-04-23T15:30:17.727 に答える