On Feb 3, 2013, at 10:06 AM, Keary Suska <cocoa-...@esoteritech.com> wrote:

> On Feb 2, 2013, at 6:25 PM, Velocityboy wrote:
> 
>> Finally got a chance to do some more debugging on this.
>> 
>> I looked at the referenced object and figured out why the fault, at least. I 
>> had tried to bind the subcategory column's Content to 
>> category.subcategories, which resolved to a relationship on an 
>> NSManagedObject. Under the covers, evidently a relationship is represented 
>> as a set, but per the docs, the Content binding has to be to an array (the 
>> docs actually say it should be an NSArrayController.)
> 
>> So evidently directly binding Content and Content Values to something 
>> hanging off a managed object, without going through a controller, is not a 
>> great idea.
>> 
>> What I don't see is how to express what I want using an array controller, if 
>> that's what I have to do. I see two choices:
>> 
>> - Bind the array controller for the popup's elements, somehow, to the 
>> 'subcategories' relationship for the category object that's selected in each 
>> row of the table
>> - Bind the array controller for the popup's elements to the core data entity 
>> that represents all of the subcategories, and somehow specify to filter that 
>> data per row to just the elements that have a parent of the category that's 
>> selected in the row
>> 
>> Is it possible to express either of these using just a binding? Or is this 
>> case complex enough that I should be looking at doing this part in code?
> 
> I re-read your original post and I am not sure what you are actually after. 
> If what you want is, in a table, to display the category and in the same row 
> display a popup of subcategories, you may not be able to accomplish the 
> latter with bindings, but I forget exactly why. You can try binding the 
> column value to controller.arrangedObjects.relationship but I don't know if 
> NSTableView is smart enough to handle it. If it can't (and I suspect that it 
> won't), then you will need to instead handle the popup column manually with 
> NSTableView delegate calls.

Yes, that's exactly what I'm after. Thanks, I'll do it the way you're 
suggesting.

> 
>> On Jan 30, 2013, at 11:23 PM, Quincey Morris wrote:
>> 
>>> On Jan 30, 2013, at 22:41 , Velocityboy <velocity...@rodentia.net> wrote:
>>> 
>>>> I see two bizarre behaviors: when I change the Category value with the 
>>>> popup button cell in one row, Category values in other rows change. When I 
>>>> change the subcategory, I get an exception:
>>>> 
>>>> 2013-01-30 22:32:23.192 Testapp[10506:f03] -[_NSFaultingMutableSet 
>>>> objectAtIndex:]: unrecognized selector sent to instance 0x101d5dfd0
>>> 
>>> A NSArray selector is being sent to a NSSet object. That suggests you've 
>>> forgotten to set the NSArrayController into "entity" mode, which is 
>>> necessary for a Core Data property, which is modeled as a set rather than 
>>> an array.
>>> 
>>> In "class" mode, the array controller expects its content to be an array; 
>>> in "entity" mode, it expects the content to be a set.
> 
> 
> Keary Suska
> Esoteritech, Inc.
> "Demystifying technology for your home or business"
> 
> 

_______________________________________________

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to