Krishna
Krishna

Reputation: 241

Core Data - how to generate CoreDataGeneratedAccessors?

I've gone through apple dev website, google and stack overflow to figure out the basics behind CoreDataGeneratedAccessors.

I'm using Xcode 4.2 and core data. I created entities and their relationships properly including inverse.

Following code is failing:

    self.remdetail = [NSEntityDescription insertNewObjectForEntityForName:@"RemDetail" inManagedObjectContext:context];
    [rem addRemDetailObject:remdetail];  --> I'm trying to add rem detail to rem object

because there are no accessor methods generated automatically, I put the following code manually in one of the NSManagedObject subclass. The following code was not generated when i created NSManagedObjects for my entities. I tried to generate accessors automatically by going through few articles and suggestions like Xcode copy & paste etc but nothing is generating the following code.

in rem ManagedObject -->

@interface Rem (CoreDataGeneratedAccessors)
- (void)addRemDetailObject:(RemDetail *)value;
- (void)removeRemDetailObject:(RemDetail *)value;
- (void)addRemDetail:(RemDetail *)value;
- (void)removeRemDetail:(RemDetail *)value;
@end

does anyone know how to generate CoreDataGeneratedAccessors?

Thanks, Rama

Upvotes: 12

Views: 7849

Answers (4)

Binoy jose
Binoy jose

Reputation: 471

1)created a new version of the Core Data Model via Xcode.

2)Fix the relationship (added a new relationship between the two.https://developer.apple.com/library/watchos/documentation/Cocoa/Conceptual/CoreData/HowManagedObjectsarerelated.html)

3)re-created the NSManagedObject subclass

Upvotes: 0

Cloud9999Strife
Cloud9999Strife

Reputation: 3202

@Julien's answer was part of the solution, but here is how I solved it:

  1. Make sure that you have a to-many relationship.
  2. If you already made a class for your entity, delete it, then with your xcdatamodel open, go to Editor -> create NSManagedObject subclass, and follow the wizard.

The class that is generated will have CoreDataGeneratedAccessors that you are looking for.

Upvotes: 4

Julien
Julien

Reputation: 973

Have you checked the switch "To-Many Relationship" in the relationship properties?

Upvotes: 24

TheEye
TheEye

Reputation: 9346

Have a look here:

https://github.com/rentzsch/mogenerator

This little tool will generate the accessor classes for you - I use it in quite some projects and it works great!

Upvotes: 1

Related Questions