У меня есть это приложение, которое использует основные данные и NSArrayController для управления некоторыми объектами в таблице. У меня есть код ниже, чтобы забрать некоторые объекты в каталоге. Мои вопросы касаются раздела под названием «Ручные файлы». Я создаю новый объект Video с использованием URL-адреса, копируя атрибуты метаданных, используя специальную функцию, которую я написал. Теперь объект вставлен в управляемый объект. Мой вопрос в том, что, поскольку у меня есть NSArrayController связанный с моим managedObjectContext, почему я должен все еще делать [self addObject: newVideo], чтобы объект был показан на моей таблице? Есть ли способ заставить контроллер массива вытащить объект из управляемого объекта управления без необходимости его вручную добавлять? Это будет хлопот, когда нужно обновлять обе вещи каждый раз, когда я добавляю или удаляю объект.Добавление объектов managedObjectContext с NSArrayController
for (NSURL *url in _dirEnumerator) {
NSNumber *_isDirectory = nil;
[url getResourceValue:&_isDirectory forKey:NSURLIsDirectoryKey error:NULL];
if (![_isDirectory boolValue]) {
if (([_mediaTypes containsObject:[[url pathExtension]uppercaseString]])) {
// Handle the files
Video *newVideo = [NSEntityDescription insertNewObjectForEntityForName:@"Video" inManagedObjectContext:_managedObjectContext];
[newVideo copyAttributesFrom:url];
[self addObject:newVideo];
NSLog(@"Inserting video: %@",[newVideo valueForKey:@"name"]);
}
}
}