3

NSMenuItem -setTarget:它是否保留目标,还是应该明确保留它?

我在这方面看到了相互矛盾的文档。我知道 NSInvocation 中的 retainArguments,但我不确定这是否适用于 NSMenuItem,因为它不是从 NSInvocation 继承的。

4

2 回答 2

3

我不相信它会。通常目标操作方法和委托属性不会保留它们设置的内容,因为它们不“拥有”它们的目标。

于 2010-07-27T21:32:33.737 回答
1

简单看一下标题:

@property (nullable, weak) id target;

或在斯威夫特:

weak var target: AnyObject? { get set }

在这里我们看到了,这意味着target无法控制目标的生命周期。用技术术语来说,它既不增加也不减少引用计数。一旦您的目标因任何原因被解除分配,它也会丢失。weakNSMenuItem

于 2019-01-10T16:41:40.333 回答