[MacRuby-devel] Create new Core Data Instances
timo at orangeorb.de
Mon Nov 14 04:17:59 PST 2011
Am 14.11.2011 um 09:47 schrieb Sven A. Schmidt:
>> a) Is it really THAT complicated to create an instance of MyEntity and set the attribute? I'm coming from the Rails/ActiveRecord world where this could easily be done with a single line of code (including saving the instantiated object): MyEntity.new(:attribute1 => "Test").save )
>> b) How can I save this fresh instance and update my NSTableView?
> After you have modeled your entity in the Xcode core data modeling view, you can use
> instance = NSEntityDescription.insertNewObjectForEntityForName(
> "MyEntity", inManagedObjectContext:managedObjectContext
> to instantiate an instance. You can save it calling
> error = Pointer.new_with_type("@")
> To save attributes, simply assign to them:
> instance.attribute1 = 'Test'
> This assumes you've added that attribute to your model. The managedObjectContext can be created or, if you're using a core data project like the document one, you'll have a managedObjectContext accessible from your NSDocument subclass: self. managedObjectContext
I've already added attributes to my model. I'm not sure about this manageObjectContext thing. I've created the Entity with it's attributes in IB. I added an NSTableView to my window and connected it to my model. Objects are displayed in the TableView and I also can add record directly in the table (connected the add: action to a button). So my model seems to be fine. Next step would be to create an object more manually (i.e. for some kind of Import functions...). I'm not sure where I get this manageObjectContext from in my current situation or how to create one. It also seems like I should dig a little more into Core Date and check how it works... currently it seems a lot more complicated than ActiveRecord to me...
> If you have bound your NSTableView to the model object, changes will be picked up automatically. You'll only need to call save to actually persist to disk.
I hoped that would be the case. Good to know it is.
> I hope this helps somewhat, there's much more detail to it and the following links explain more of those:
I'll take a look.
> and some MacRuby specific ones that I've found useful in the past
Thanks for the links. I've already found and read them before. But they didn't answer my questions (or I were too blind to see it). I've got feeling that I've read every single page about MacRuby that Google will find ;-)
More information about the MacRuby-devel