我对Objective-C和Cocoa相对较新,所以如果这太明显或我的术语不正确,请原谅。我没有找到答案就彻底搜索了文档和网页。到目前为止,我一直在向其他类的方法发送消息而没有问题。
我有两个课程:MainWindowController
和ServerControl
。
我在MainWindowController
中有一个名为startServer
的实例方法,如下所示:
- (void)startServer
{
NSLog(@"Running startServer from MainWindowController");
[startButton setEnabled:NO];
[restartButton setEnabled:YES];
[shutdownButton setEnabled:YES];
}
当我从startServer
内从另一个实例方法向MainWindowController
发送消息时,我得到了预期结果:NSLog
执行,并且启用和禁用了三个NSButton
正确。
当我在这样的实例方法中从startServer
内向ServerControl
发送消息时:
// Update buttons
MainWindowController *mainWindowController = [[MainWindowController alloc] init];
[mainWindowController startServer];
NSLog
会执行但NSButton
未按预期启用和停用。
我也尝试过使用属性并在setEnabled
课程中设置ServerControl
选项,但这也不起作用。
感谢您的帮助。