我有一个NSView类,想从drawRect或mouseUp设置NSTextField的字符串值。头文件(.h)如下所示:
@interface ComposerViewController : NSView
@property (weak) IBOutlet NSTextField *motifName;
@end
在实现(.m)文件中,我尝试设置" motifName"在drawRect中像这样:
- (void)drawRect:(NSRect)dirtyRect
{
[super drawRect:dirtyRect];
[self.motifName setStringValue:@"Bob"]:
}
或者在" mouseUp"像这样的方法:
- (void)mouseUp:(NSEvent *)theEvent
{
[self.motifName setStringValue:@"Bob"];
}
这些都不能改变我的NSTextField对象的显示值。
我确实有一个显示所需文本的IBAction,如下所示:
- (IBAction)add:(id)sender
{
[self.motifName setStringValue:@"Bob"];
}
我很困惑为什么" setStringValue"在IBAction方法中工作,但不是drawRect或mouseUp方法,即使它们都在同一个实现文件中。
非常感谢任何帮助。谢谢。