2014-12-19 2 views
0

У меня есть проект CoreData вот мой .h файл:CoreData ошибка отношения доступа к данным

@interface Content : NSManagedObject 

@property (nonatomic, retain) NSString * title; 
@property (nonatomic, retain) NSString * body; 
@property (nonatomic, retain) Categories *category; 
@property (nonatomic, retain) NSSet *tags; 
@end 

@interface Content (CoreDataGeneratedAccessors) 

- (void)addTagsObject:(Tags *)value; 
- (void)removeTagsObject:(Tags *)value; 
- (void)addTags:(NSSet *)values; 
- (void)removeTags:(NSSet *)values; 

И я заселение в моем CoreData следующим образом:

NSError *error = nil; 

    // Categories: 

    NSManagedObjectContext *moc = [self managedObjectContext]; 
    NSEntityDescription *contentDescription = [ NSEntityDescription entityForName:@"Categories" inManagedObjectContext:moc]; 

    NSFetchRequest *categoRequest = [NSFetchRequest new]; 
    categoRequest.entity = contentDescription; 
    NSPredicate *categoPredicate = [NSPredicate predicateWithFormat:@"category like %@", _dropMenuOulet.stringValue]; 
    categoRequest.predicate = categoPredicate; 

    NSArray *results = [moc executeFetchRequest:categoRequest error:&error]; 

    Categories *catego = (Categories*) [results objectAtIndex:0]; 

// Tags: 

    NSEntityDescription *tagsDescription = [ NSEntityDescription entityForName:@"Tags" inManagedObjectContext:moc]; 
    NSFetchRequest *tagsRequest = [NSFetchRequest new]; 
    tagsRequest.entity = tagsDescription; 
    NSArray *tagsResults = [moc executeFetchRequest:tagsRequest error:&error]; 


    Content *content1 = [NSEntityDescription insertNewObjectForEntityForName:@"Content" inManagedObjectContext:moc]; 

    content1.category = catego; 
    content1.title = _titleOutlet.stringValue; 
    content1.body = _bodyOutlet.stringValue; 

    NSMutableSet *tagSet = [NSMutableSet set]; 


    for (NSManagedObject *obj in tagsResults) 
    { 
     [tagSet addObject:obj]; 
    } 

    content1.tags = tagSet; 

Моей проблема сейчас, когда Я пытаюсь получить доступ к тегам в содержании, которое я получаю:

tags = "<relationship fault: 0x60000002d820 'tags'>"; 

Как можно получить доступ к тегам контента?

+0

Это ожидаемое поведение. См. Это [вопрос и ответ] (http://stackoverflow.com/a/8876336/3985749). – pbasdf

+0

Возможный дубликат [Ошибка отношения CoreData?] (Http://stackoverflow.com/questions/8876234/coredata-relationship-fault) – pbasdf

ответ

0

выясню делать это по-другому:

NSError *error = nil; 
    NSManagedObjectContext *moc = [self managedObjectContext]; 
    NSEntityDescription *contentDescription = [ NSEntityDescription entityForName:@"Content" inManagedObjectContext:moc]; 
    NSFetchRequest *contentRequest = [NSFetchRequest new]; 
    contentRequest.entity = contentDescription; 
    NSArray *results = [moc executeFetchRequest:contentRequest error:&error]; 
    NSLog(@"results content %@",results); 

    Content *myCont = [results objectAtIndex:0]; 

    NSLog(@"list of tags %@", [[myCont tags] valueForKey:@"tag"]); 
Смежные вопросы