Я пытаюсь программно настроить 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;
}