2011-11-15 73 views
0

這是好的,從NSDocument加載NSWindowController,並保持對NSArrayController的引用? 我需要這個數組控制器的實例來保存數據。NSDocument有伊娃到NSArrayController

- (void)makeWindowControllers 
{ 
ImageWindowController *controller = [[[ImageWindowController alloc] init] autorelease]; 
[self addWindowController:controller]; 
myArrayController = controller.bindingsController; 
} 

//保存

- (NSData*)dataOfType:(NSString *)typeName error:(NSError **)outError 
{ 
return [NSKeyedArchiver archivedDataWithRootObject:myArrayController.arrangedObjects]; 
} 

回答

0

是很確定。只要確保在您的文檔子類發佈之前,myArrayController永遠不會被釋放。 (如果在IB做那麼這將是罰款)​​,但如果你在實例代碼中的陣列控制器,並將其設置爲ImageWindowController的屬性,一定要打電話retain分配,像這樣的變量時:

myArrayController = [controller.bindingsController retain];