【问题标题】:NSCell not properly displayedNSCell 未正确显示
【发布时间】:2011-03-04 14:18:37
【问题描述】:

我在 NSTableView 中有一个自定义 NSCell,但它无法正确显示。表格视图中有正确数量的项目,但除了第一个之外,它们都是空的。第一个显示单元格,但当我单击 NSTableView 上的某个位置时,它的值会随机变化。我怀疑这与我手机的copyWithZone: 有关。我的单元格没有任何 iVar,只有一个绘制其 objectValue 的 drawWithFrame:inView: 方法。在copyWithZone: 我返回[[[MyCell allocWithZone: zone] init] autorelease]

我应该退回其他东西吗?

【问题讨论】:

    标签: objective-c nstableview nscell copywithzone


    【解决方案1】:

    你不应该-autorelease -copyWithZone: 的结果。 “copy”是 Cocoa 中的三个神奇词之一(new、alloc 和 copy),表示返回的对象应该有一个有效的 +1 保留。

    另外,请注意,您应该始终在某个时候调用单元格的指定初始化程序(initImageCell:initTextCell:)。如果您的init 没有调用其中之一,那么您可能没有正确初始化您的单元格。见Subclassing NSCell

    【讨论】:

      猜你喜欢
      • 2012-04-13
      • 1970-01-01
      • 1970-01-01
      • 2018-04-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多