gpt4 book ai didi

xcode - 无法在 AppDelegate 之外的其他类中更改 NSTextField 的字符串值

转载 作者:行者123 更新时间:2023-12-03 17:49:20 26 4
gpt4 key购买 nike

我正在开发一个 Mac OS X 应用程序,它将保存和加载数据(类似于笔记应用程序)。我添加了一些 NSTextFields,我想在按下加载按钮时更改其字符串值。我想在一个单独的类(class)中做到这一点。我创建了该类并将其命名为Load。现在我有了 Load.hLoad.m 文件。我为按下按钮时创建了一个 IBAction:

- (IBAction)loadText:(id)sender
{
[textField setStringValue:[[NSUserDefaults standardUserDefaults] objectForKey:@"MyNote"]];
NSLog(@"This method works!");
}

Xcode (7 beta 5) 没有看到任何错误。但是当我运行它时,它不会对文本字段执行任何操作,但会记录字符串。当我试图找到一种编辑字符串值的方法时,我发现如果您在 AppDelegate 中为 NSTextField 创建一个导出,它就会起作用。在应用程序委托(delegate)中:

- (IBAction)loadTextInAppDelegate:(id)sender
{
[appDelegateTextField setStringValue:[[NSUserDefaults standardUserDefaults] objectForKey:@"MyNote"]];
NSLog(@"This method works!");
}

很高兴知道可以这样做,但是这样我的 AppDelegate.m 文件就会变得一团糟,因为我必须放入我想要放入的所有内容在 Load.m 文件中。

那么有没有办法在与 AppDelegate 不同的类中更改 NSTextField 的字符串值?

最佳答案

有两件事。

1:您确定 loadText 方法中的 textField 不是 nil 吗?

2:您确定该方法在 UI(主)线程上执行吗?

关于xcode - 无法在 AppDelegate 之外的其他类中更改 NSTextField 的字符串值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32361202/

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