저는 핵심 데이터를 처음 사용하므로 다음과 같은 문제에 도움이 필요합니다.관계 오류 (코어 데이터)
두 개의 엔티티가 있습니다. 토크 및 스피커가 있습니다. 그들은 많은 관계가 있습니다.
토크 - 대상 : 스피커, 역 : 스피커 이야기 - 대상 : 토크, 역 : "일대 다 관계"스피커
필드는 두 기관에 확인됩니다.
사용할 수있는 모든 대화를 나열하는 테이블보기 컨트롤러가 있습니다.
- (NSFetchedResultsController *)fetchedResultsController
{
if (_fetchedResultsController != nil) {
return _fetchedResultsController;
}
NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
NSEntityDescription *entity = [NSEntityDescription
entityForName:@"Talk" inManagedObjectContext:self.managedObjectContext];
[fetchRequest setEntity:entity];
NSSortDescriptor *sort = [[NSSortDescriptor alloc]
initWithKey:@"date" ascending:NO];
[fetchRequest setSortDescriptors:[NSArray arrayWithObject:sort]];
[fetchRequest setFetchBatchSize:20];
NSFetchedResultsController *theFetchedResultsController =
[[NSFetchedResultsController alloc] initWithFetchRequest:fetchRequest
managedObjectContext:self.managedObjectContext sectionNameKeyPath:nil
cacheName:@"Root"];
self.fetchedResultsController = theFetchedResultsController;
_fetchedResultsController.delegate = self;
return _fetchedResultsController;
}
내가 셀을 클릭
이, 내가 선택한 이야기의 세부 정보를 보여주는 또 다른 뷰 컨트롤러를로드 할이 내가 뭐하는 거지 방법이다.- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
TalksDetailsViewController *talksDetails = [[TalksDetailsViewController alloc] initWithTalksInfo:[_fetchedResultsController objectAtIndexPath:indexPath]];
[self.navigationController pushViewController:talksDetails animated:YES];
}
문제는 다음과 같습니다 :
이 내가 뭐하는 거지입니다 내가 TalksDetailsViewController에 스피커를 볼 수 없습니다. 이 TalksDetailsViewController로 전송되는 정보입니다 :
Info: <Talk: 0x6e66920> (entity: Talk; id: 0x6e66880 <x-coredata://4063FE84-E6DB-4588-8133-9A55B512D6C8/Talk/p2> ; data: {
date = "2012-08-31 03:00:00 +0000";
id = 7;
speaker = "<relationship fault: 0x6e994e0 'speaker'>";
"start_time" = "17:14:55";
})
나는 아래의 코드로 뭔가를 시도,하지만 작동하지 않았다 : 그것은 결코에 들어간하지
for (Speaker *speakerInfo in self.talkInfo.speaker) {
NSLog(@"speaker info: %@", speakerInfo);
}
.
Relationship 'speaker' fault on managed object (0x7a76c30) <Talk: 0x7a76c30> (entity: Talk; id: 0x7a76b90 <x-coredata://4063FE84-E6DB-4588-8133-9A55B512D6C8/Talk/p2> ; data: {
date = "2012-08-31 03:00:00 +0000";
id = 7;
speaker = "<relationship fault: 0x6bc5990 'speaker'>";
"start_time" = "17:14:55";
})
좀 비슷한 질문을했다,하지만 내 문제가 해결되지 수 : 내가 self.talkInfo.speaker를 기록하려고하면
나는 같은 것을 얻을.
팁이 있습니까?
관계 오류는 오류를 의미하지 않습니다. 스피커에서 속성 로깅을 시도 했습니까? 이 답변보기 : http : // stackoverflow.com/a/8876336/879119 – mkral
시도했지만 작동하지 않았습니다. 귀하가 지적한 답변을 기반으로 문제를 해결할 수 없습니다. 하지만 고마워. – hdoria
self.talkInfo를 기록 할 수 있습니까? 그래서 구조화 된 것을 볼 수 있습니다. – mkral