코어 데이터와 NSArrayController를 사용하여 테이블의 일부 객체를 관리하는이 애플리케이션을 사용하고 있습니다. 아래의 코드를 사용하여 디렉토리에서 객체를 선택하십시오. 내 질문은 아래 "Handle Files"섹션에 관한 것입니다. URL을 사용하여 새 Video 객체를 만들고, 내가 작성한 사용자 정의 함수를 사용하여 메타 데이터 속성을 복사합니다. 이제 객체가 managedObjectContext에 삽입됩니다. 내 질문은, 내 NSArrayController 내 managedObjectContext에 바인딩 된 이후, 왜 여전히해야합니까 [자체 addObject : newVideo] 내 테이블에 표시된 개체가? 수동으로 추가 할 필요없이 배열 컨트롤러가 managedObjectContext에서 객체를 가져 오도록 강제하는 방법이 있습니까? 객체를 추가하거나 제거 할 때마다 두 가지 사항을 모두 업데이트해야하는 번거 로움이 될 것입니다.NSArrayController와 함께 managedObjectContext 객체 추가
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"]);
}
}
}