2012-01-24 6 views
8

जब मैं अपने CoreData मॉडल के संदर्भ बचाने के प्रयास में, मैं एक त्रुटि प्राप्तCoreData संदर्भ बचाने के लिए करते हुए कहा कि संबंध नहीं के बराबर है विफल रहता है - लेकिन यह निश्चित रूप से सेट किया गया है

Unresolved error Error Domain=NSCocoaErrorDomain Code=1560 "The operation couldn’t be completed. (Cocoa error 1560.)" UserInfo=0x76924b0 {NSDetailedErrors=( "Error Domain=NSCocoaErrorDomain Code=1570 " The operation couldn\U2019t be completed. (Cocoa error 1570.)" UserInfo=0x768c410 {NSValidationErrorObject=<Posts: 0x7177990> (entity: Posts; id: 0x7177010 <x-coredata:///Posts/tEF7138E6-A968-45B7-95CF-116C2AA93D605> ; data: {\n " business_entity" = nil;\n "
created_at" = " 2012-01-21 03:31:30 +0000" ;\n " own_description" = " Roasted this morning- Panama Duncan Estate: A rose fragrance debuts flavors of pear, coconut and marshmallow with caramel throughout the cup." ;\n postsID = 4;\n " updated_at" = " 2012-01-21 03:31:30 +0000" ;\n}), NSValidationErrorKey=business_entity, NSLocalizedDescription=The operation couldn\U2019t be completed. (Cocoa error 1570.)}",

कुंजी हिस्सा होने के नाते:

:

business_entity = nil;
NSValidationErrorKey=business_entity

हालांकि जब मैं अपने "पोस्ट" वस्तु बनाने मैं उन्हें है कि इस तरह सेट 210

// First try to find a business for the post 
NSNumber* businessID = [NSNumber numberWithInteger: [(NSString*)[jsonInfo objectForKey:@"business_id"] integerValue]]; 
NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init]; 
[fetchRequest setEntity: [NSEntityDescription entityForName:kCoreDataModelNameBusinesses inManagedObjectContext: self.managedObjectContext]]; 
[fetchRequest setPredicate: [NSPredicate predicateWithFormat:@"(businessesID == %i)", [businessID intValue]]]; 

NSError *error = nil; 
NSArray *matchingManagedObjects = [__managedObjectContext executeFetchRequest:fetchRequest error:&error]; 

if(error) { 
    NSLog(@"Error-createNewPostsWithJsonInfo: Unresolved error %@, %@", error, [error userInfo]); 
    return; 
} 

// Check any results 
if([matchingManagedObjects count] == 0) { 
    NSLog(@"Error-createNewPostsWithJsonInfo: Could not locate a matching businessId: %@ for postId:%@", businessID, (NSString*)[jsonInfo objectForKey:@"id"]); 
} 
// Check too many results  
if([matchingManagedObjects count] > 1) { 
    NSLog(@"Error-createNewPostsWithJsonInfo: Too many bussinesses match businessId: %@ for postId:%@", businessID, (NSString*)[jsonInfo objectForKey:@"id"]); 
} 

// Final sanity check outputs fine!! 
NSLog(@"Business entity %@", (Businesses*)[matchingManagedObjects objectAtIndex:0]); 

// Finally create the post 
Posts* newPosts = [NSEntityDescription 
          insertNewObjectForEntityForName:entityName inManagedObjectContext:self.managedObjectContext]; 

newPosts.created_at = [_dateFormater dateFromString: [jsonInfo objectForKey:@"created_at"] ]; 
newPosts.updated_at = [_dateFormater dateFromString: [jsonInfo objectForKey:@"updated_at"] ]; 
newPosts.own_description = [jsonInfo objectForKey:@"description"]; 
newPosts.postsID = [NSNumber numberWithInteger: [(NSString*)[jsonInfo objectForKey:@"id"] integerValue]]; 
[newPosts setBusiness_entity: (Businesses*)[matchingManagedObjects objectAtIndex:0] ]; 

तो मुझे पता है कि business_entity सेट किया जा रहा है, और सही है। इस तरह के परिदृश्य में संदर्भ सहेजते समय त्रुटि देने का क्या कारण होगा?

यहाँ मॉडल है कि यदि मदद करता है:

enter image description here enter image description here

+0

व्यवसाय_entity एक रिश्ते या संपत्ति है> – jackslash

+0

यह एक रिश्ता है - – Onedayitwillmake

उत्तर

6

बैठाना किसी को भी इस समस्या को भर आता है, त्रुटि तरीका है कि मैं coredatamodel में सम्बन्ध स्थापित करते गया था में था।

इन छवियों से मैं कर सकता हूँ बेहतर समझा जाएगा, लेकिन आप करने के लिए कई मालिक इकाई के रूप में संबंधों की स्थापना की सुनिश्चित करें, अन्यथा इसके लिए आप

enter image description here enter image description here

गतिशील परिवर्तनशील सेट बनाने नहीं होगा
संबंधित मुद्दे

 संबंधित मुद्दे