gpt4 book ai didi

objective-c - 为什么我的outlet为零?

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

我在 cocoa 项目上遇到了麻烦。我正在显示一个由 NSButton 组成的键盘,我希望当我单击其中一个键时,标签会添加到 NSTextField 中。我有一个用作单例的 Controller ,因此每个键“知道”如何访问 Controller 。在 Controller 中,我有一个链接到 NSTextField 的 socket 。当我点击某个键时,什么也没有发生。因此,我在 mouseDown 事件上使用了类似 NSLog(@"%@", [[[OakController] sharedInstance] textarea]) 的内容,在控制台输出中,我得到 (null).

长话短说,我的 socket 设置为零,我不知道为什么会这样,也不知道如何解决......

这是 Controller 的代码:https://gist.github.com/1090564 。抱歉缺少语法着色。

感谢大家的阅读!

最佳答案

我的猜测是,您实际上有多个 OakController 实例,而不是您期望的那样。您是否将一个蓝色立方体拖到 IB 文档中并将其自定义类更改为 OakController?这将每次分配并初始化一个新对象。我猜你的sharedInstance方法也会分配并初始化一个实例。

尝试向 OakController 添加 awakeFromNib 方法,并添加断点。记录自身的指针值。在第二种情况下,如果导出意外为零,还记录自身的指针地址。

关于objective-c - 为什么我的outlet为零?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6739118/

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