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.

> 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