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 ([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:
> https://lists.apple.com/mailman/options/cocoa-dev/rols%40rols.org
>
> This email sent to [email protected]
_______________________________________________
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:
https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com
This email sent to [email protected]