我需要 通过与定义插座的类不同的类来更新NSProgressIndicator的值 。
Es:
如果我在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..
}
奇怪的是,如果我在A类中调用-(void)update_indicator:(double)value
,其中定义了插座,它可以正常工作,如果我从B调用它正在被调用但是进度条没有显示。
答案 0 :(得分:0)
如果A是应用程序的委托类,您可以使用此[[NSApplication sharedApplication]delegate]
获取好的实例,而不是创建新实例。
否则,你应该把A类变成单身。