2012-09-21 72 views
2
[self.change setStringValue:[NSString stringWithFormat:@"%i", changeValue]]; 

其中change是一个NSTextField类型的IBOutlet。无论出于何种原因,我无法让文本字段显示任何我想要的内容。每次运行时,该字段都是“0”。任何想法,为什么它不会改变?NSTextField不会更新

+0

尝试记录self.change和changeValue,看看他们给你什么。 – rdelmar

+0

以前应该提到过这个。 changeValue很好(int)。 self.change给我的对象和self.change.stringValue是相同的changeValue –

+0

你有任何其他代码会影响此文本字段?任何委托方法实施? – rdelmar

回答

1

好的,这里是让别人学习的尴尬新秀错误。我甚至在视图加载之前调用了我的setstringvalue;在didfinishlaunching方法。使用awakefromnib方法确保您的视图已加载。 Via Apple:

Finally, after all the objects are fully initialized, each receives an awakeFromNib message. 
+0

这应该在applicationDidFinishLaunching :(在awakeFromNib之后调用)中工作。你是如何加载视图的?你是明确加载它,还是只是在应用程序的主窗口? – rdelmar

+0

应用程序的主窗口。我以为didfinish也应该工作......我很困惑哈哈。 –

0

验证插座是否与您放入xib文件的NSTextField真正链接。

+0

已验证我相信http://imgur.com/CpKOy。这可能是一件非常愚蠢的事,我没有做。 –

3

永远不要更新init中的文本字段或弹出按钮。一旦类被初始化,你必须在awakeFromNib或其他委托中填充默认值。