On 2011-06-28, at 11:55 AM, Shannon Love wrote:

> 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? 

I believe as it's not compiled, attr_accessor just allows read/write.

It might be easier to implement the models in objective+c to take advantage of 
the processors. 

I'm still new to macruby,

Hope it helps,
 - Rob

> 
> 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 <tech...@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
> 
> _______________________________________________
> 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

Reply via email to