Objective c 在两个窗口之间传递数据';它在一个xib文件中?

Objective c 在两个窗口之间传递数据';它在一个xib文件中?,objective-c,macos,cocoa,Objective C,Macos,Cocoa,刚接触Objective C和cocoa开发,忙于玩一些代码编写应用程序只是为了练习一下,我有点问题 有一个带窗口和轮毂面板的xib。轮毂面板是隐藏的,窗口上有一个按钮,显示的是轮毂 [self.myHUBWindow orderFront.sender]; 很好地工作,然后在集线器上我得到了一个文本字段和一个关闭集线器的按钮,close button,100%工作: [self.myHUBWindow close]; 我想做的是,当我点击主窗口上的按钮时,它应该在窗口中插入一些文本 中心窗

刚接触Objective C和cocoa开发,忙于玩一些代码编写应用程序只是为了练习一下,我有点问题

有一个带窗口和轮毂面板的xib。轮毂面板是隐藏的,窗口上有一个按钮,显示的是轮毂

[self.myHUBWindow orderFront.sender];
很好地工作,然后在集线器上我得到了一个文本字段和一个关闭集线器的按钮,close button,100%工作:

[self.myHUBWindow close];
我想做的是,当我点击主窗口上的按钮时,它应该在窗口中插入一些文本 中心窗口上的文本字段。我有这个:

 [self.hubOutputTextField insertText:@"hello world"];
似乎什么也没发生:-/有人能给我指出正确的方向吗

我的主窗口按钮iAction:

- (IBAction)buildScannerButton:(id)sender {
    [self.myHUBWindow orderFront:sender];
    [self.hubOutputTextField insertText:@"hellow world"];
}
以及文本字段的my@属性

@property (weak) IBOutlet NSTextField *hubOutputTextField;
试一试


有点想办法让它工作

[self.hubOutputTextField setStringValue:@"First line\n"];
self.hubOutputTextField.stringValue = [self.buildOutputTextField.stringValue stringByAppendingString:@"secoand line"];

这很好,我只是希望有一个更干净的方法。我可以想象,如果你有大量的字符串要添加,这可能会很快变得难看,假设你只需要制作一个方法就可以了。有谁知道更好的方法吗?

谢谢,这很有效,但是每次使用setStringValue时,文本字段中的文本似乎都会被重写,使用insertText,我可以继续向文本字段添加字符串。适用于“我的主窗口”上的文本字段,但由于某些原因,不适用于集线器窗口上的文本字段:-/如果要附加使用nsmutableString,请附加它,然后设置字符串值:mutableString:)如果要显示多行,则应使用文本视图而不是文本字段。NSTextViews可以方便地响应
插入文本:
(尽管您真正应该做的是获取文本视图的
文本存储
,从中获取可变的
字符串
,并发送该字符串
追加字符串:
消息)。
[self.hubOutputTextField setStringValue:@"First line\n"];
self.hubOutputTextField.stringValue = [self.buildOutputTextField.stringValue stringByAppendingString:@"secoand line"];