나는 이것이 아주 길다는 것을 알고 있지만, 현재 첫 번째 CoreData 프로젝트에서 작업 중이며 모든 리소스를 읽음에도 불구하고 아직 완전히 침몰하지는 않습니다. 지금까지 나는 그것을 구하고 모든 것을 지속 할 수 있지만 관계가 올바르게 작동하는 것처럼 보일 수는 없습니다. 관련 Exersizes (일대 다)를 표시하는 테이블로 이동하는 Exersize Categorys를 표시하는 테이블 뷰가 있습니다. 내가 읽은 모든 일에서 ExersizeCoreData : 일대 다 관계 표시 문제
은 (이미지를 게시하려고하지만 난 아직 충분히 담당자 포인트가 없습니다) 그러나 데이터 모델이
ExersizeCategory < --- >>처럼 보인다 나는 결과를 필터링하기 위해 술어를 사용해야 할 수도 있다고 생각하지만 실제로 어떻게 작동하고 날씨가되는지에 대해 혼란 스럽다. 실제로 Exersize 카테고리를 만들고 저장하고 관계가 작동하도록 적절하게 Exersizes한다. 처음에는 여기
내가 작성하고 (또한 텍스트 필드 항목에 이름을 설정)
ExersizeCategory *exersizeCategory = [NSEntityDescription insertNewObjectForEntityForName:@"ExersizeCategory"
inManagedObjectContext:self.managedObjectContext];
exersizeCategory.name = self.textField.text;
[self.managedObjectContext save:nil]; // write to database
을 저장하고있어 방법 그리고 여기에 (거의 동일)을 exersizes의 코드
// Create a new instance of the entity
exersize = [NSEntityDescription insertNewObjectForEntityForName:@"Exersize"
inManagedObjectContext:self.managedObjectContext];
exersize.name = self.textField.text;
[self.managedObjectContext save:nil]; // write to database
비록입니다 이 개체를 만드는 작업을 보인다 및 나는 아직 coreDataGeneratedAccessors 구현할 수있는 tableviews 그들을보고 있어요, 어떻게 그리고 그 그림에 맞게합니까?
@interface ExersizeCategory (CoreDataGeneratedAccessors)
- (공극) addExersizesObject (Exersize *) 값;
- (void) removeExersizesObject : (Exersize *) value;
- (void) addExersizes : (NSSet *) values;
- (void) removeExersizes : (NSSet *) values;
나는 (내가 www.timroadly.com에서 겪고있는 튜토리얼을 통해 발견) 당신이 가져 오기 위해 작성해야하는 코드의 양을 줄이기 위해 보인다 CoreDataTableViewController 클래스를 사용하고 언급해야 생성 스탠포드 대학. side-note : 하위 클래스를 사용하지 않고 표준 방법을 사용하는 것이 더 낫습니다. .h는 스탠포드에 저작권이 있으므로. 앱에서 사용할 수 있는지 확신 할 수 없습니다. ? 여기
나는 현재 내가이 구현에 중요한 부분을 놓친 알고 Exersizes
- (void)setupFetchedResultsController {
// 1 - Decide what Entity you want
NSString *entityName = @"Exersize"; // Put your entity name here
NSLog(@"Setting up a Fetched Results Controller for the Entity named %@", entityName);
// 2 - Request that Entity
NSFetchRequest *request = [NSFetchRequest fetchRequestWithEntityName:entityName];
// 3 - Filter it if you want
//currently unsure about this!
//request.predicate = [NSPredicate predicateWithFormat:@""];
// 4 - Sort it if you want
request.sortDescriptors = [NSArray arrayWithObject:[NSSortDescriptor sortDescriptorWithKey:@"name"
ascending:YES
selector:@selector(localizedCaseInsensitiveCompare:)]];
// 5 - Fetch it
self.fetchedResultsController = [[NSFetchedResultsController alloc] initWithFetchRequest:request
managedObjectContext:self.managedObjectContext
sectionNameKeyPath:nil
cacheName:nil];
[self performFetch];
}
을 표시 가져 오는거야하지만 난 그냥 확실하지 않다 방법은 어떤 어디. Ive는 며칠 동안 핵심 데이터에만 머물러있어서 배우기가 꽤 힘들었습니다!
가볍게 답변 해 줄 수있는 사람에게 감사/또는 올바른 방향으로 나를 밀어주세요!
안녕하세요 앤드류 철자가 좋지만 일관성을 위해 순간적으로 동일하게 유지하십시오. 몇 가지 더 읽고 더 노력한 후에, 나는 제대로 가져 오는 것이지만, exersize에 대한 NSSet 수를 0으로 유지하면서 관계에 배치 할 수없는 exersize 개체를 만들 때 믿습니다. 시도해 봤어 [exersizeCategory addExersizesObject : exersize]; 그러나 그것은 작동하지 않는 것 같은가요? 내가 찾을 수있는 모든 솔루션을 시도했지만 어딘가에 여전히 잘못되어 가고 있습니다. 분명히 잘못된 것 같습니까? 다시 한 번 감사드립니다 –
f.perdition, 모든 CD 관계에는 역이 있습니다. 따라서 관계가 일대 다이고 역이 일대일 인 경우 간단한 할당으로 관계를 구축 할 수 있습니다. 다음과 같이 :'exercise.exercises = exercises;'. Andrew – adonoho
Andrew, 이전과 같은 문제는 해결할 수 없습니다. exerciseCategory 객체는 페치 (fetch)되어 생성되지만 실제로는 연습해야합니다. 인쇄 문을 통해 내가 관리되는 개체 컨텍스트에 전달되는 것을 볼 수 있습니다.하지만 NSSet은 비어있는 상태로 남아 있기 때문에 테이블 뷰는 해당 항목을 가져오고 거기에 nothings을 추가했기 때문에 추측하고 있습니다. 가져 오기. 무슨 일이 일어날 지 모르는 어떤 아이디어? 상황을 돕는다면 더 많은 코드를 보여주기 위해 내 게시물을 업데이트 할 수 있습니까? 건배 남자! –