how about using @synchronize to avoid it 

On Apr 26, 2012, at 6:23 PM, Jean Suisse wrote:

> Dear Peter,
> 
> Thank you for your reply. Here is the requested code (see below). 
> After more investigations, I would like to take back a previous statement, 
> that the tableview was perfectly aware that the number of rows in the DS was 
> changed. This is due to my inexperience in stepping through the code across 
> multiple threads.
> 
> Here are the facts :
> 
> - Only the controller removes rows from the datasource. Either in response to 
> user actions (canceling tasks) or as a result of a Task completed 
> notification from a running task.
> - Each change in the dataSource is immediately followed by a reloadData 
> message sent to the TableView.
> - Sometimes, randomly, the TableView requests a row index that is out of 
> bounds by one index (e.g. row #5 when the dataSource contains only 5 
> elements).
> 
> I am thinking that a redraw occurs in-between the removal of one element of 
> the table and the reloadData message. 
> For now, I did a quick fix for this issue by adding a category with 
> "safeObjectAtIndex"…. But one way to be certain would be to ensure that the 
> two messages (removal + reloadData) are sent without any thread/process 
> switching occurring…
> 
> The code for numberOfRowsInTableView : (experimentList is an instance of 
> NSMutableAray)
> 
> - (NSInteger)numberOfRowsInTableView:(NSTableView*)tableView
> {     
>       return self.experimentList ? [self.experimentList count] : 0;
> }
> 
> Jean
> 
> 
> On 26 avr. 2012, at 11:45, Peter Hudson wrote:
> 
>> 
>> Can you post your code for     numberOfRowsInTableView:
>> 
>> Peter
> 
> 
> _______________________________________________
> 
> 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/rols%40rols.org
> 
> This email sent to r...@rols.org


_______________________________________________

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