【发布时间】:2013-02-04 22:08:54
【问题描述】:
如何从我的NSWindowController 中的模型类调用数组? valueArray 在 AppDelegate 中设置为模型类ValueItem:
@interface AppDelegate : NSObject <NSApplicationDelegate>
{
ValueItem *vi;
ResultWindowController *rwc;
IBOutlet NSArrayController *outArrayController;
}
和
@implementation AppDelegate
....
- (IBAction)pushOk:(NSButton *)sender
{
self->vi = [[ValueItem alloc]init];
[vi setValueArray:[outArrayController arrangedObjects]];
NSLog(@"vi.valueArray is:%@", vi.valueArray);
if (rwc)
{
[rwc close];
}
rwc = [[ResultWindowController alloc] init];
[rwc setShouldCascadeWindows:NO];
[rwc showWindow:self];
}
调用NSLog(@"vi.valueArray is:%@", vi.valueArray); 返回数组内容就好了。但是当我尝试在我的另一个NSWindowController 中使用它时,它总是返回NULL:
@interface ResultWindowController : NSWindowController
{
ValueItem *vi;
NSNumber *resultAverage;
}
和
@implementation ResultWindowController
@synthesize resultAverage;
...
- (IBAction)pushChange:(NSButton *)sender
{
[self calculateAverage];
[_outputLabel setDoubleValue:[resultAverage doubleValue]];
NSLog(@"resultAverage is:%@", resultAverage);
NSLog(@"vi.valueArray is:%@", vi.valueArray);
}
-(void)calculateAverage
{
resultAverage = [vi.valueArray valueForKeyPath:@"@avg.nomValue"];
}
我找不到丢失的链接?我在这里想念什么? 谢谢!
【问题讨论】:
标签: objective-c macos model-view-controller