【问题标题】:Why cannot NSTextView for a weak reference?为什么 NSTextView 不能作为弱引用?
【发布时间】:2016-02-12 11:00:22
【问题描述】:

我注意到比在 OSX 中,NSTextView 不能作为弱引用(如果你尝试链接它弱,你会得到)

Cannot form weak reference to instance (0x600000122da0) of class NSTextView. It is possible that this object was over-released, or is in the process of deallocation.

默认情况下,XCode 的出口也被创建为分配

为什么不能有弱引用?可能是什么原因?

【问题讨论】:

标签: objective-c macos cocoa nstextview


【解决方案1】:

在此处查看常见问题解答Transitioning to ARC Release Notes

问:哪些类不支持弱引用?

答:您目前无法创建对 以下类:NSATSTypesetter、NSColorSpace、NSFont、NSMenuView、 NSParagraphStyle、NSSimpleHorizo​​ntalTypesetter 和 NSTextView。

等等

【讨论】:

  • 那么解决办法是什么?如何在 Swift 中使用 NSTextField 打破保留周期?
【解决方案2】:

仔细阅读邮件。阅读过去的单词 NSTextView。它确切地告诉你为什么此时你不能创建对 NSTextView 的弱引用。你只需要阅读它。

例如,当 dealloc 运行时,您不能再创建新的弱引用,因为该对象将消失并且所有弱引用都将设置为 nil。尝试将对象分配给弱变量将使该变量保持为零,即使该对象不是零(还)。

而这与 NSTextView 无关。

【讨论】:

  • 不正确,问题是 NSTextView 使用它自己的引用计数,因此不能与弱引用一起使用
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-06-29
  • 2014-06-17
  • 1970-01-01
  • 2013-06-30
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多