【问题标题】:Core data and custom NSCell核心数据和自定义 NSCell
【发布时间】:2009-12-14 21:17:12
【问题描述】:

我正在使用两个实体Log(属性textdate)和Tag 的核心数据构建一个玩具应用程序,其中tags 的关系从Log 到@987654329 @。

我想在表格中显示日志,所以我:

  • 在 IB 中创建了一个 NSArrayController 实例 LogController,实体设置为 Log (pic)
  • 创建了一个单列NSTableView,其列绑定到LogControllerpic
  • 使用IBOutlet 在我的应用程序委托(AppDelegate) 中链接LogControllerAppDelegate 也有 managedObjectContext
  • 创建了一个自定义 NSCell 类,其中包含 NSString 属性 mainTexttagsText,我将其绘制到单元格上
  • 我在- (void)tableView: willDisplayCell: forTableColumn: row:方法中设置了AppDelegate中的上述两个单元格属性。 (MainController 也是该表的代表)。对于tagsText,我获取当前日志的标签并将它们连接成一个NSString

一切正常,除了:当我用鼠标选择一行显示多个标签时,应用程序崩溃并显示EXC_BAD_ACCESS。这是我唯一一次有任何错误,但我不知道是什么原因造成的。

【问题讨论】:

    标签: memory-management core-data macos nsarraycontroller nscell


    【解决方案1】:

    EXC_BAD_ACCESS 是内存错误。您在释放对象后使用它。没有代码很难调试。

    你在使用垃圾收集器吗?您不必在 Mac 上自己管理内存。

    您的自定义 NSCell 中的属性是否声明为“保留”?

    【讨论】:

    • 正确:我没有将其中一个属性声明为保留。这解决了它。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-03-30
    • 2013-04-19
    • 1970-01-01
    • 1970-01-01
    • 2016-05-12
    • 1970-01-01
    • 2011-09-26
    相关资源
    最近更新 更多