Am 14.04.2011 um 04:20 schrieb Graham Cox:


On 14/04/2011, at 10:13 AM, Peter Lübke wrote:

I'd like to temporarily 'freeze' the cells in the table view while the data displayed in those cells are changed so they are not continuously redrawn.
When the changes are completed, they should be updated at once.


This is what happens by default.

The redraws do not take place until the event loop completes, so if all your changes are made within the event cycle, you'll only get one redraw. If you are changing your data model one item per event loop - which you'd have to go to a lot of trouble to accomplish - then you'll get the table updating for each change.


This is of course true if the changes are made in the main thread.
I should have mentioned that I'm changing the data in separate worker threads.

Actually, it's possible that there are several worker threads changing data of different tables in different windows at the same time, while the associated windows display attached sheets showing progress. Permanently redrawing the tables's cells at this stage is confusing and also undesirable for performance reasons.


Am I missing something I could override in my table view or array controller?

Thanks,

Peter_______________________________________________

Cocoa-dev mailing list ([email protected])

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 [email protected]

Reply via email to