我正在尝试创建一个简单的 Mac OS X 应用程序,它显示文本输出,用于记录我的程序。这是我所做的:
1) 创建了一个 Mac OS X UI 项目
2) 在 MainMenu.xib 的 Application 窗口中间添加了一个“Text Field”组件
3) 添加了具有以下属性的新类“MainWindow.m”:
@property (assign) IBOutlet NSTextField *mainWindowText;
4)将文本字段组件的“引用插座”连接到属性。我现在在上面的代码行左侧看到一个灰点
5) 在我的应用程序中,我创建了一个新线程,该线程创建了 MainWindow 的一个实例。然后我等待 5 秒并尝试访问上面的 mainWindowText 变量,但它始终为空。我期待一个非空变量,所以我可以调用 setStringValue: 并随时修改文本。
我尝试用 doText: 做类似的事情,当我按下回车键时,我可以看到回调,并在那里写文字。但是我需要一种在任意时间修改文本的方法,我认为上述属性是正确的方法。
我也尝试添加 @synthesize 语句,但没有效果。
有什么建议么?
更新:阅读一些帖子后,我认为问题在于我正在使用错误的 mainWindow 对象。我尝试在 NIB 中创建一个 NSObject 并使其自定义类类型为 mainWindow,并在我的其他类之一中创建了一个 IBOutlet(类型 MainWindow *),但它不允许我将这两个东西连接起来,所以我不确定如何访问我添加到 NIB 的这个 NSObject 对象。