Oops, thanks for the fix :) On 28 jun 2011, at 18:21, Robert Lowe wrote:
> Value must be a pointer when passed > > value_to_pointer = Pointer.new(:object) > value_to_pointer.assign(value) > > Regards, > - Rob > > On 2011-06-28, at 12:08 PM, Eloy Duran <e...@dekleineprins.me> wrote: > >> I have no experience with Core Data, but if you are looking to make >> repetitive work easy then don't forget about the metaprogramming >> possibilities with Ruby. Taking your example, you could create class >> method like the following: >> >> class Model >> def self.core_data_accessor(name) >> class_eval(%{ >> def add#{name}Object(value) >> changedObjects = NSSet.setWithObject(value) >> willChangeValueForKey('#{name}', >> withSetMutation:NSKeyValueUnionSetMutation, >> usingObjects:changedObjects) >> primitiveValueForKey('#{name}').addObject(value) >> didChangeValueForKey('#{name}', >> withSetMutation:NSKeyValueUnionSetMutation, >> usingObjects:changedObjects) >> end >> }) >> end >> >> core_data_accessor 'SubFolders' >> core_data_accessor 'OtherFolders' >> # etc >> end >> >> HTH >> >> On Tue, Jun 28, 2011 at 5:55 PM, Shannon Love <tech...@me.com> 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? >>> 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 > _______________________________________________ > 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