gpt4 book ai didi

cocoa - NSTextView 中的委托(delegate)链接在键入时导致 EXC_BAD_ACCESS

转载 作者:行者123 更新时间:2023-12-03 17:11:38 24 4
gpt4 key购买 nike

我有一个符合 NSTextViewDelegate 协议(protocol)的 NSViewController 子类,其 View 是 NSView 的子类(显然)。我的 Nib 上有一个 NSTextField 文本框,我的 NSViewController 子类是它的委托(delegate)。当我尝试在文本框中输入时,它抛出 EXC_BAD_ACCESS,但是当我删除委托(delegate)链接时,我可以正常输入。我还没有处理任何事件,我只是有链接。我已经研究过类似的线程,但我认为我仍然无法理解如何将他们的解决方案应用于我的具体问题。我需要为我的 TextView 指定一个委托(delegate)。我怎样才能解决这个问题?

最佳答案

胜利是我的!

这就是问题所在,我知道如何用最好的方式来描述它:

在我的 AppDelegate.m 文件中,我将实例化 myCustomViewController 并将其 View 作为 subview 添加到窗口的主视图中,如下所示:

myCustomViewController *myCustomVC = [[myCustomViewController alloc] initWithNibName...];
[self.view addSubview:myCustomVC.view];

但我没有保留 myCustomViewController,因此当包含此代码的方法返回时,myCustomVC 被清理。后来,当我在与 myCustomVC 的 subview 关联的文本框中键入内容时,它会将委托(delegate)消息发送到已被释放的 myCustomVC 内存地址。

解决方案是将 ViewController 对象放入我的主 xib 中,并将其挂接到文件所有者的相应属性上。

关于cocoa - NSTextView 中的委托(delegate)链接在键入时导致 EXC_BAD_ACCESS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23333649/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com