On Jul 12, 2011, at 9:24 PM, James Walker wrote:

> On 7/12/2011 6:14 PM, Ken Thomases wrote:
>> On Jul 12, 2011, at 5:36 PM, James Walker wrote:
>> 
>>> On 7/12/2011 2:04 PM, Ken Thomases wrote:
>>> 
>>>> Invoking -setSortDescriptors: on the array controller does sort it (or 
>>>> should).
>>>> Back on 10.4, it may have been necessary to follow that with a call to 
>>>> -rearrangeObjects.
>>> 
>>> -[NSArrayController setSortDescriptors:] alone doesn't work for me even on 
>>> 10.6, but that combined with -[NSArrayController rearrangeObjects] does the 
>>> trick.  That is, I set use setSortDescriptors: once, and use 
>>> rearrangeObjects whenever I add new items to the table.
>> 
>> Is your array controller bound to its content, or are you setting that 
>> programmatically?  If it's bound, then it ought to rearrange its objects 
>> when they are added.  The fact that it doesn't suggests that you aren't 
>> updating the property to which it is bound in a KVO-compliant manner.
> 
> The table column is bound to the array controller using IB.

OK, but I was trying to get at the question of from where the array controller 
gets its content.  Is its contentArray binding bound?  Or are you setting its 
content programmatically using -initWithContent: or -setContent:?

> I was adding new items using -[NSArrayController addObject:].  What's the 
> better way?

That's fine and should work.  I don't know why the array controller isn't 
re-arranging its content.  Maybe my understanding of that behavior is wrong.  
When you weren't calling -rearrangeObjects, were the added objects showing up 
in the table at all (but maybe in the wrong order)?

Regards,
Ken

_______________________________________________

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:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

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

Reply via email to