Skip navigation.
 
mlUsing an auto incremented NSNumber as attribute in a NSManagedObject
FROM : Joshua Preston
DATE : Thu Mar 06 22:05:04 2008

Hey guys,

First, let me say that I'm just starting to pick up Cocoa and 
Objective-C, and so far, I love it.  Core Data seems to be an elegant 
solution to some of my past problems (mainly Java persistence).  I am 
however having problems finding information regarding auto incremented 
attributes, namely an NSNumber attribute.  I've created the attribute 
with the Data Modeler and set up all of the relationships I require. 
Everything worked, so I read about implementing a subclass of 
NSManagedObject and defining a -awakeFromInsert method.  This appears 
to be working for some of the other fields, such as the date, but I'm 
having problems determining how exactly to increment the number.

For example, when I create my first object, I want the numeric id 
field to be 1.  Each subsequent insert should be the previous numeric 
id field + 1.  I've read some of the posts regarding performing this 
and the general thought on this process is to create an additional 
entity in my data model containing the "current maximum index" then 
perform fetch, increment and get value of that field and use that for 
the incremented value of my new object.  I'm not sure if this is still 
the only way or even the preferred way to perform this feat.  I'm kind 
of worried about locking that "counter" field until the new managed 
object has been created to avoid any increment problems.

Additionally, I've tried accessing the docs located at the link below, 
but I keep getting connection errors, anyone else having problems 
accessing the documentation?

http://developer.apple.com/documentation/Cocoa/Reference/CoreDataFramework/Classes/NSManagedObject_Class/Reference/NSManagedObject.html

Regards,

Joshua Preston
Joshua.<email_removed>