0

我需要通过与定义插座的类不同的类来更新 NSProgressIndicator 的值。

埃斯:

  • 在 Ah 类中,我定义了 NSProgressIndicator 的出口并链接它。
  • 在课堂上我有一个方法来更新指标的 doubleValue。
  • 在 B 类.m 中,我通过 A 类的一个实例调用该方法,但没有任何反应

相反,如果我在 A 类中调用相同的方法,它可以正常工作

我错过了什么?

//REQUESTED CODE:
//Class A (AppDelegate)
A.m
//Other stuff
-(void)update_indicator:(double)value {
//Method that updates the value of the indicator
[progress_indicator setDoubleValue:(double)value];
[progress_indicator setNeedsDisplay:YES];
}

//Class B (Drawing class - subclass of NSView)
B.m
- (void)drawRect:(NSRect)dirtyRect
{
[super drawRect:dirtyRect];
//Create istance;
A *istance = [[A alloc] init]; //Alloc class A and init it
[A update_indicator:50.0];
//Other code..
}

奇怪的是,如果我-(void)update_indicator:(double)value在定义插座的 A 类中调用它,它工作正常,如果我从 B 调用它,它被调用但进度条没有显示。

4

1 回答 1

0

如果 A 是应用程序的委托类,您可以使用 this 获得好的实例[[NSApplication sharedApplication]delegate],而不是创建新实例。

否则,您应该将 A 类设为单例。

锁定这个例子http://www.galloway.me.uk/tutorials/singleton-classes/

于 2014-04-22T13:05:54.863 回答