This seems fine to me. Generally, when subclassing, the contract is that you 
must call super - there is nothing said about where in your method you do so.

Luke

On Feb 18, 2010, at 5:58 AM, Roland King wrote:

> I have this piece of code in my UITableViewController subclass (that is also 
> my tableview delegate)
> 
> -(void)setEditing:(BOOL)editing animated:(BOOL)animated
> {
>       if( editing )
>               preEditPath = [ [ [ self tableView ] indexPathForSelectedRow ] 
> retain ];
>       
>       [ super setEditing:editing animated:animated ];
>       
>       if( !editing )
>       {
>               [ [ self tableView ] selectRowAtIndexPath:preEditPath 
> animated:YES scrollPosition:UITableViewScrollPositionNone ];
>               [ preEditPath release ];
>               preEditPath = nil;
>       }
> }
> 
> The object here is to catch the current selection on the tableview when the 
> table goes into edit mode (because when it does, the selection is nil'ed with 
> no delegate call)  and then restore it when the table comes out of edit mode. 
> In the meantime I'm using the delegate calls which do exist to deal with the 
> case where the selected row is moved or deleted so I restore the right thing. 
> 
> The super call is in the middle of the block because I've observed that it's 
> that super call which removes the selection whether you are entering or 
> exiting edit mode, so if I call it right at the start of the block, the 
> selection is nil'ed before I cache it, if I call super at the end of the 
> block, the super call deselects the selection I just put back. 
> 
> But having a super call in the middle of an overriden method seems wrong to 
> me, and a bit fragile, and it relies on the observation that that's where the 
> selection is nil'ed. Is this unusual, totally wrong or ok? 
> _______________________________________________
> 
> 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/luketheh%40apple.com
> 
> This email sent to luket...@apple.com

_______________________________________________

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