2011-10-27 12 views
3

NSTokenFieldCellに問題がありましたので、問題を特定するためにXcodeで新しいプロジェクトを作成しました。私がしたことがここにあります:NSTableViewのNSTokenFieldCellがタブ移動時にクラッシュする、バグですか?

  • NSTableViewをメインウィンドウにドロップしました。
  • は2番目の列のテキストセルを選択し、Class(Identity Inspector経由)をNSTokenFieldCellに変更しました。
  • は、次のコードを使用して、可能な最小のデータソースオブジェクトを実装:まず

    - (NSInteger)numberOfRowsInTableView:(NSTableView *)tableView { 
        return 1; 
    } 
    
    - (id)tableView:(NSTableView *)tableView objectValueForTableColumn:(NSTableColumn *)tableColumn row:(NSInteger)row { 
        return @"aa, bb"; 
    } 
    

をタブやシフト、その後、正常に動作するようですが、あなたが編集するセルをダブルクリックした場合+タブを使用してセルを前後に切り替えると、トークンフィールドセルがフォーカスを受け取ると、最終的にBAD ACCESSでアプリケーションがクラッシュします。

私はMacOS X Cocoaアプリケーションテンプレートに付属するすべてのデフォルト設定で、Xcode 4.2をLion 10.7.2で使用しています。

+0

私はこの組み合わせにも不満を感じています。私はそのような答えはありませんが、問題を再現し、コードを公開しました:https://github.com/ioquatix/TableViewTokenCellTest – ioquatix

答えて

3

Cocoaのバグのようです。

2011-10-31 00:02:43.802 tokenfieldtest[35622:307] *** -[NSTokenFieldCell respondsToSelector:]: message sent to deallocated instance 0x1da761f10 

は私が(ちょうどトークン列に)新しいNSTokenFieldCellたびに返す、テーブルの委譲を設定し、- (NSCell *)tableView:(NSTableView *)tableView dataCellForTableColumn:(NSTableColumn *)tableColumn row:(NSInteger)rowを実装しようとしたが、私は同じエラーを得た:あなたはゾンビをオンにする場合は、これを参照してくださいよ。

関連する問題