如何更新NSTextField中的文本

时间:2011-08-04 16:43:30

标签: cocoa

我刚开始使用xCode,我已经构建了一个非常简单的(mac,而不是iPhone)应用程序,它会弹出一个带有文本字段,标签和按钮的窗口。

我可以让应用程序弹出一个带有文本框字符串值的消息框,但我似乎无法用一些默认文本设置文本字段的字符串值。

我用来尝试填充文本字段的代码是:

[_txtBox setStringValue:@"Hello World"];

set string方法是唯一一个看起来应该设置框值的方法。程序运行时没有错误,当我点击按钮时,不会抛出任何错误。

如果文本字段包含文本,则文本将显示在标签中。

如果我将代码行放在读取和输出文本字段的代码之前,那么代替显示该文本框的文本框,文本框文本就会消失,就像我已经覆盖了内容一样一个空字符串的字段。标签也是空白的。

欢迎提出建议;我在标签上使用的几乎相同的表达式可以正常工作:

 [_lblOutPut setStringValue:_txtIP];

所以我不知道我做错了什么......

干杯!

戴夫

3 个答案:

答案 0 :(得分:2)

检查您是否使用“NSTextField NumberFormatter”或“NSTextField”。

NSTextField NumberFormatter”只允许使用数字。如果您尝试设置NSString,它将只显示一个空字符串。

试试这个

[_txtBox setStringValue:@"123"];

现在,如果您的输出中有123,那么您肯定使用“NSTextFieldNumberFormatter

答案 1 :(得分:0)

你确定你以正确的方式连接IB的插座吗? 什么是

的输出
NSLog(@"%@", _txtBox);

(把它放在setStringValue之前)

答案 2 :(得分:0)

对于文本输入,您使用的是NSTextField还是NSTextView?它们在处理方面有很大的不同,setStringValue:适用于NSTextField,但NSTextView需要将属性字符串传递给[[textView textStorage] setAttributedString:...]