2011-10-27 7 views
0

私はコンパイラエラーを取得しています「NSTableViewAnimationSlideLeft」宣言されていない(最初にこの関数で使用)

[searchTableView removeRowsAtIndexes:[[searchTableView selectedRowIndexes] withAnimation:NSTableViewAnimationSlideLeft]]; 

しかし、最も奇妙な私はインターネット上の例を見つけることができませんでした。 (Googleでわずか5件)。この方法で何が問題になっていますか?

おかげ

+0

NSTableViewAnimationの代わりにUITableViewAnimationを使用してはいけませんか? – Aberrant

+2

@Aberrant私はMac上にいるhttp://developer.apple.com/library/mac/#documentation/Cocoa/Reference/ApplicationKit/Classes/NSTableView_Class/Reference/Reference.html – aneuryzm

答えて

2
[searchTableView removeRowsAtIndexes:[[searchTableView selectedRowIndexes] withAnimation:NSTableViewAnimationSlideLeft]]; 

あなたのブラケットのネストが間違っている:

  • [searchTableView removeRowsAtIndexes:
    • [
      • [searchTableView selectedRowIndexes]
    • withAnimation:NSTableViewAnimationSlideLeft]
  • ];

それは構文的に法的だが、それならば、私は(あなたがインデックスセットにwithAnimation:メッセージを送信することを意味するとは思わない、またそのメッセージの戻り値を渡します1つ)を指数としてremoveRowsAtIndexes:に設定しました。

I'm getting a compiler error: 'NSTableViewAnimationSlideLeft' undeclared (first use in this function)

10.7で導入されたので、10.7 SDKを使用していることを確認してください。

10.5または10.6をサポートしている場合は、このコードを条件付きにすることを忘れないでください。

+0

10.5で行を削除するにはどうすればいいですか? 10.6? – aneuryzm

+0

@Patrick:テーブルビューに 'reloadData'メッセージを送ります。 ( 'noteNumberOfRowsChanged' *は機能するかもしれませんが、ドキュメンテーションの記述に基づいて、私はそれを信じません)。テーブルビューは、データソースまたはバウンド配列に何が変更されたかを尋ねます。 –

関連する問題