On Dec 16, 2009, at 1:07 AM, John Shea wrote: > > The second part, filling with data (presumably you will only need to do this > once, because then the data can be saved with the app). > There are many ways to add data. > > The easiest I reckon, is to add a method to the AppDelegate - called > applicationDidFinishLaunching(notification) (delegated from the application > singleton) and in that method you can do something like: > new_student = NSEntityDescription.insertNewObjectForEntityForName("Student", > inManagedObjectContext:self.managedObjectContext). > Then set the attributes for that obj, eg student.name = "Bill".
Let me be more specific about *why* this is important to me. My app goes out to a Web Service for data, so I have to fill some of it in programmatically, then it refreshes only occasionally. I decided this would be best in the controller, so it could be triggered by the user. To emulate that, I wanted to prepopulate the managedObject collection, and that I did in awakeFromNib. Warning: Make sure to call super! So what it boiled down to what this method in the controller: def new_image(image = {}) object = NSEntityDescription.insertNewObjectForEntityForName("Image", inManagedObjectContext:managedObjectContext) object.setValue image[:fileid], forKey: 'fileid' object.setValue image[:title], forKey: 'title' puts "#{object} #{object.fileid} : #{object.title}" end I used the setters explicitly when I was confused about why the bound tableview was blank. I'm beginning to get this a bit more under control, but the IB/CoreData/Cocoa Bindings is even magical to a Ruby person :) See? I told you it was a dumb question. Thanks, Steve _______________________________________________ MacRuby-devel mailing list MacRuby-devel@lists.macosforge.org http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel