3
我試圖以編程方式設置NSArrayController
以使用Core Data。如何設置核心數據的NSArrayController?
我知道我的Core Data存儲具有內容,因爲我可以通過託管對象上下文手動檢索對象。我將NSArrayController
連接到相同的受管對象上下文,然後將NSTableColumn
的值參數綁定到NSArrayController
。我問NSArrayController
取回,但它返回一個空數組。
關於我可能做錯什麼的建議?
接口
@interface MTTableViewController : NSObject <NSTableViewDelegate, NSTableViewDataSource>
{
NSMutableArray *tableData;
MTTableCell *tableCell;
IBOutlet NSTableColumn *tableColumn;
NSArrayController *dataController;
}
實施
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self)
{
dataController = [[NSArrayController alloc] init];
[dataController setManagedObjectContext:[[NSApp delegate] managedObjectContext]];
[dataController setEntityName:@"Track"];
[dataController setAutomaticallyPreparesContent:YES];
[dataController fetch:self];
NSArray *content = [dataController arrangedObjects];
NSLog(@"Count :%i", (int)[content count]); //Outputs 0
tableCell = [[MTTableCell alloc] initTextCell:@""];
[tableColumn setDataCell:tableCell];
}
return self;
}
肯定你的管理對象上下文中初始化該代理在您將其分配給您的datacontroller init方法時。 –
我從委託檢查了託管對象上下文的調用,它不是零。還有其他建議嗎? – David
嘗試[dataController fetch:self];安裝後。不應該,但... –