0

セルベースの構造を持つカスタム NSOutlineView があります。OutlineView のカスタム セルをフックしました。アウトライン ビューの各行に対して、アウトライン ビューの各行のカスタム データ モデル オブジェクトをフックしました。次のメソッドを使用してノード オブジェクトをフックしました。

  • (NSInteger)outlineView:(NSOutlineView *)outlineView numberOfChildrenOfItem:(id)item
  • (id)outlineView:(NSOutlineView *)outlineView child:(NSInteger)index ofItem:(id)item
  • (id)outlineView:(NSOutlineView *)outlineView objectValueForTableColumn:(NSTableColumn *)theColumn byItem:(id)item

drawInteriorWithFrame::次に、それに応じて描画するために、カスタム セル クラスのメソッドでデータ モデル オブジェクトにアクセスする必要があります。

Custom Cell Class で使用[self objectValue]してみましたが、渡したオブジェクトが返されませんObjectValue

私のアプローチに何か問題がありますか?または、これを修正する方法はありますか?

4

1 に答える 1

0

セルの objectValue で何が起こっているのかわかりません。ただし、これを処理する 1 つの方法は、Cell サブクラスにプロパティまたはメンバー変数を追加して、モデル オブジェクトへの参照を保持することです。次に、drawInteriorWithFrame: 内でそれを使用できます。ARC を使用していない場合は、必ず dealloc で参照を nil にしてください。

于 2012-09-20T16:56:15.840 に答える