I'm not to the point of wiring up the UI yet. I will employ bindings when I do so but at the moment I am creating a complex data model using NSManagedObject subclasses with lots of customized behaviors. I do this all the time in Objective-c but I am uncertain how to go about doing so in MacRuby. The @dynamic processor in Objective-C 2.0 autogenerates attribute and relationship accessors except for the to-many relationship convenience methods but obviously MacRuby has no such capability. I don't think the `attr_accessor ` in ruby will generate the proper core data accessors. I suppose my real question is: Do we have to write all the accessors like we used to do in the early days of Core Data in Objective-s 1.0 or is there some functionality in ruby or MacRuby that obviates the need to do so? Thanks, Shannon On Jun 27, 2011, at 5:55 PM, Matt Aimonetti wrote:
Hey Shannon,
I'm not sure I fully understand, but you should be able to just set the accessor and do the binding via Xcode as shown here: http://ofps.oreilly.com/titles/9781449380373/_core_data.html Let me know if that doesn't answer your question.
- Matt
On Mon, Jun 27, 2011 at 3:45 PM, Shannon Love <techzen@me.com> wrote: Howdy,
I've Core Data a lot in Objective-c and now I am trying to use it in MacRuby. It occurs to me that I might need to create the to-many relationship accessors just like you have to do in Objective-C.
To clarify: Suppose I have a data model that models a file structure and which looks like this:
Folder{ name:string parent<<-->Folder.subFolders subFolders<-->>Folder.parent files<-->>File.folder } File{ name:string folder<<-->Folder.file }
In Objective-C, I would normally have methods in the `Folder` class that would look like:
addSubFoldersObject: removeSubFoldersObject: addSubFoldersObjects: removeSubFoldersObjects:
The methods themselves would use look something like:
- (void)addSubFoldersObject:(FetchedPropertyExtractor *)value { NSSet *changedObjects = [[NSSet alloc] initWithObjects:&value count:1]; [self willChangeValueForKey:@"SubFolders" withSetMutation:NSKeyValueUnionSetMutation usingObjects:changedObjects]; [[self primitiveValueForKey:@"SubFolders"] addObject:value]; [self didChangeValueForKey:@"SubFolders" withSetMutation:NSKeyValueUnionSetMutation usingObjects:changedObjects]; [changedObjects release]; }
Do you have to do the same thing in MacRuby or will the normal ruby set operations suffice?
Thanks, Shannon Love a.k.a TechZen
_______________________________________________ MacRuby-devel mailing list MacRuby-devel@lists.macosforge.org http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel
_______________________________________________ MacRuby-devel mailing list MacRuby-devel@lists.macosforge.org http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel