NSMenuItem -setTarget:它是否保留目标,还是应该明确保留它?
我在这方面看到了相互矛盾的文档。我知道 NSInvocation 中的 retainArguments,但我不确定这是否适用于 NSMenuItem,因为它不是从 NSInvocation 继承的。
NSMenuItem -setTarget:它是否保留目标,还是应该明确保留它?
我在这方面看到了相互矛盾的文档。我知道 NSInvocation 中的 retainArguments,但我不确定这是否适用于 NSMenuItem,因为它不是从 NSInvocation 继承的。
我不相信它会。通常目标操作方法和委托属性不会保留它们设置的内容,因为它们不“拥有”它们的目标。
简单看一下标题:
@property (nullable, weak) id target;
或在斯威夫特:
weak var target: AnyObject? { get set }
在这里我们看到了,这意味着target
它无法控制目标的生命周期。用技术术语来说,它既不增加也不减少引用计数。一旦您的目标因任何原因被解除分配,它也会丢失。weak
NSMenuItem